我每天都会提取一些不同的数据集,执行一些简单的数据质量检查,然后如果数据集未通过检查,就会发送电子邮件。
我的检查就像检查数据集中的重复项一样简单,以及检查数据集中的行数和列数是否没有改变——见下文。
assert df.shape == (1016545, 8)
assert len(df) - len(df.drop_duplicates()) == 0
由于这些数据集每天都会更新并且可能会改变行数,有没有更好的方法来检查而不是硬编码特定的数字?
例如,一个数据集可能只有 400 行,而另一个可能有 200 万行。我可以说检查昨天的行数的“一个标准偏差”吗?但在那种情况下,我需要开始在一个单独的表中收集前几天的计数,这可能会变得很难看。
现在,对于每天更改的表格,我正在进行以下基本检查:
assert df.shape[0] <= 1016545 + 100
assert df.shape[0] >= 1016545 - 100
但显然这是不可持续的。
任何建议都非常感谢。