一个轻便灵活的熊猫数据结构验证包。
pandera的Python项目详细描述
潘德拉
一个灵活且有表现力的pandas验证库。
为什么?
pandas
数据结构隐藏了大量信息,并且显式地
在生产关键或可复制的研究中在运行时验证它们
设置是个好主意。pandera
允许用户:
- 检查
DataFrame
中列的类型和属性或 一个Series
。 - 执行更复杂的统计验证,如假设检验。
- 与现有的数据分析/处理流水线无缝集成 通过函数装饰器。
^
文档
官方文档存放在readthedocs上:https://pandera.readthedocs.io
安装
使用pip:
pip install pandera
使用conda:
conda install -c cosmicbboy pandera
示例用法
DataFrameSchema
importpandasaspdfrompanderaimportColumn,DataFrameSchema,Float,Int,String,Check# validate columnsschema=DataFrameSchema({# the check function expects a series argument and should output a boolean# or a boolean Series."column1":Column(Int,Check(lambdas:s<=10)),"column2":Column(Float,Check(lambdas:s<-1.2)),# you can provide a list of validators"column3":Column(String,[Check(lambdas:s.str.startswith("value_")),Check(lambdas:s.str.split("_",expand=True).shape[1]==2)]),})# alternatively, you can pass strings representing the legal pandas datatypes:# http://pandas.pydata.org/pandas-docs/stable/basics.html#dtypesschema=DataFrameSchema({"column1":Column("int64",Check(lambdas:s<=10)),...})df=pd.DataFrame({"column1":[1,4,0,10,9],"column2":[-1.3,-1.4,-2.9,-10.1,-20.4],"column3":["value_1","value_2","value_3","value_2","value_1"]})validated_df=schema.validate(df)print(validated_df)# column1 column2 column3# 0 1 -1.3 value_1# 1 4 -1.4 value_2# 2 0 -2.9 value_3# 3 10 -10.1 value_2# 4 9 -20.4 value_1
测试
pip install pytest
pytest tests
对pandera的贡献
欢迎所有贡献、错误报告、错误修复、文档改进、增强和想法。
关于如何贡献的详细概述可以在github上的contributing guide中找到。
问题
转到here提交功能 请求或错误修复。