使用用户友好模式的pandas数据帧验证库
pandas-schema的Python项目详细描述
pandaschema
******************
>关于完整的文档,请参阅“github网页”网站
<;https://tmiguelt.gitub.github.io/pandaschema/>;` ` `。
======================================================================================================
它使用功能强大的数据分析工具pandas快速高效地执行此操作。
代码:默认值
代码::python
import pandas as pd
from io import stringio
from pandas_schema import column,schema
from pandas_schema.validation import leading whitespacevalidation,trailingwhitespacevalidation,canconvertvalidation,matchespattervalidation,inrangevalidation,inlistvalidation
schema=schema([
列('given name',[leadingWhitespaceValidation(),trailingWhitespaceValidation()),
列('family name',[leadingWhitespaceValidation(),trailingWhitespaceValidation()),
列('age',[inrangeValidation(0,120)],
列('sex',[inListValidation(['male','female','other']),
列('customer id',[matchespatternvalidation(r'\d{4}[a-z]{4}')])
test_data=pd.read擞csv(stringio('''given name,family name,age,sex,customer id
gerald,hampton,82,male,2582gabk
yuuwa,miyake,270,male,7951wvlw
edyta,majewska,50,女性,775ansid
''))
errors=schema.validate(test_data)
对于错误中的错误:
print(error)
。code::text
{行:0,列:“给定名称”}:“gerald”包含尾随空格
{行:1,列:“age”}:“270”不在[0,120]范围内
{行:1,列:“sex”}:“male”不在合法选项列表中(male,female,other)
{行:2,列:“family name”}:“majewska”包含尾随空格
{行:2,列:“customer id”}:“775ansid”与模式“\d{4}[a-z]{4}”不匹配