SuperAPI AI 工具集

pandera

通用与其它

查看项目

更新于 10-16 08:09

技能介绍

用途:Pandera 是开源运行时 DataFrame 校验框架,定义一次 schema 即可在 pandas、polars、Dask、Modin、PySpark、Ibis 等后端复用,用于在数据管道中检查列类型、取值范围与结构约束。

主要能力:提供两种 schema 风格——对象式 DataFrameSchema(适合动态或程序化构建)与类式 DataFrameModel(Pydantic 风格,推荐,支持继承与类型注解)。内置检查包括 gt、ge、lt、le、eq、ne、isin、notin、str_matches、in_range、str_startswith、str_endswith、str_length 等,也支持向量化或逐元素自定义检查,以及 DataFrame 级检查(@pa.dataframe_check)。支持 nullable、Optional 列、coerce 类型转换、lazy=True 收集全部错误、drop_invalid_rows 过滤无效行、装饰器 @pa.check_types / @pa.check_input / @pa.check_output / @pa.check_io 集成管道、schema 继承、YAML 与脚本持久化、schema 推断(仅原型用)。

使用方式:自 v0.24.0 起应使用后端专用模块,如 import pandera.pandas as pa 或 import pandera.polars as pa,顶层 pandera 模块会产生 FutureWarning 并将在 v0.29.0 弃用。类式写法示例:class UserSchema(pa.DataFrameModel) 中声明字段与 pa.Field 约束,再调用 UserSchema.validate(df)。错误处理可捕获 SchemaError(单错误)或 SchemaErrors(惰性校验,含 failure_cases 与 error_counts)。

适用场景:数据管道输入输出校验、批量数据质量报告、schema 复用与版本化。

限制:coerce 可能掩盖上游数据问题,应谨慎使用;推断出的 schema 不应直接用于生产;资料未提供收费、价格与平台信息。