pandera:如何从现有的 pandas.DataFrame 创建 DataFrameSchema 或 DataFrameModel?

问题描述 投票:0回答:1

我编写了一个数据转换函数,它在输入时吃掉一个

pandas.DataFrame
,并在输出时返回另一个
pandas.DataFrame
。我有一个参考
pandas.DataFrame
对象,我正在其上测试我的功能。

我想检查输入数据架构以确保输入数据帧的架构始终与我的参考数据帧中的架构相同。

我发现有一个

pandera
库旨在自动执行此类检查:只需编写
DataFrameSchema
DataFrameModel
即可享受乐趣。

但我不想手动写我的

DataFrameModel
。我可以以某种方式从现有数据帧生成它吗?

python pandas pydantic pandera
1个回答
0
投票

仅推断模式怎么样

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
)>
© www.soinside.com 2019 - 2024. All rights reserved.