我编写了一个数据转换函数,它在输入时吃掉一个
pandas.DataFrame
,并在输出时返回另一个 pandas.DataFrame
。我有一个参考 pandas.DataFrame
对象,我正在其上测试我的功能。
我想检查输入数据架构以确保输入数据帧的架构始终与我的参考数据帧中的架构相同。
我发现有一个
pandera
库旨在自动执行此类检查:只需编写 DataFrameSchema
或 DataFrameModel
即可享受乐趣。
但我不想手动写我的
DataFrameModel
。我可以以某种方式从现有数据帧生成它吗?
仅推断模式怎么样
import pandas as pd
import pandera as pa
df = pd.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'c'],
'C': [True, False, True]
})
schema = pa.infer_schema(df)
print(schema)
这是
<Schema DataFrameSchema(
columns={
'A': <Schema Column(name=A, type=DataType(int64))>
'B': <Schema Column(name=B, type=DataType(object))>
'C': <Schema Column(name=C, type=DataType(bool))>
},
checks=[],
coerce=True,
dtype=None,
index=<Schema Index(name=None, type=DataType(int64))>,
strict=False,
name=None,
ordered=False,
unique_column_names=False,
metadata=None,
add_missing_columns=False
)>