我试图对我的数据运行一些期望,有些工作正常,但其他则不然,我检查了该库的多个版本,在所有版本中我都遇到了相同的问题。
版本:
0.18.5
错误:
“PandasDataset”对象没有属性“expect_column_values_to_not_be_null_and_column_to_not_be_empty”
代码:
import great_expectations as ge
import pandas as pd
df_asset = ge.from_pandas(pd.DataFrame({'A': [1.1, 2.2, 3.3], 'B': [4.4, 5.5, 6.6]}))
print(df_asset)
df_asset.expect_column_values_to_not_be_null_and_column_to_not_be_empty("A")
但是,当尝试像这样的其他类型的期望(df_asset.expect_column_values_to_not_be_null(“A”))时,它工作得很好:
{
"success": true,
"expectation_config": {
"expectation_type": "expect_column_values_to_not_be_null",
"kwargs": {
"column": "A",
"result_format": "BASIC"
},
"meta": {}
},
"result": {
"element_count": 3,
"unexpected_count": 0,
"unexpected_percent": 0.0,
"unexpected_percent_total": 0.0,
"partial_unexpected_list": []
},
"meta": {},
"exception_info": {
"raised_exception": false,
"exception_traceback": null,
"exception_message": null
}
}
对期望的准备程度有不同的级别:
expect_column_values_to_not_be_null处于Production
级别,所以它带有默认的伟大期望默认pip包
expect_column_values_to_not_be_null_and_column_to_not_be_empty处于Experimental
级别,这意味着您必须遵循几个步骤才能使其可用:
great-expectations-experimental
添加到您的点子要求中
导入期望
from great_expectations_experimental.expectations import expect_column_values_to_not_be_null_and_column_to_not_be_empty
(请注意,指南说要导入from great_expectations_contrib.expectations
,但对我来说它的效果不同。我有以下 pip 要求:)
great-expectations==0.18.9
great-expectations-experimental==0.1.20240411049
validator.expect_column_values_to_not_be_null_and_column_to_not_be_empty(
column="empty_column", mostly=0.3
)
最重要的是,请记住 Experimental
意味着
Try, but do not rely
的期望