1

我想使用Great Expectations 测试套件在许多列上运行相同的验证。我看到有一个封闭的功能请求将其作为内置期望,但这可以通过列名上的 for 循环来完成吗?

另外,我需要筛选要测试的列——我正在针对不同的类 id 训练各种计算机视觉模型,所以我需要选择与类 id 对应的所有列。

4

1 回答 1

1

不幸的是,如果您搜索文档,filter()则没有任何文档记录,但是如果您检查一下type(batch),您会发现它是 a great_expectations.dataset.pandas_dataset.PandasDataset根据 docs subclasses pandas.DataFrame

因此,您可以像使用常规数据框一样过滤列,batch.filter()并在列上运行 for 循环:

对过滤列的期望

但是有一个问题:您不能直接在过滤后的 DataFrame 上运行期望;相反,您必须在原始batch数据集上运行期望值,否则在尝试执行时会出错filtered_df.save_expectation_suite()

预期结果

于 2020-08-18T19:24:50.403 回答