Я ежедневно добавляю несколько разных наборов данных, выполняю несколько простых проверок качества данных, а затем снимаю электронные письма, если набор данных не проходит проверку.
Мои проверки такие же простые, как и проверка на наличие дубликатов в набор данных, а также проверка того, что количество строк и столбцов в наборе данных не изменилось - см. ниже.
assert df.shape == (1016545, 8)
assert len(df) - len(df.drop_duplicates()) == 0
Поскольку эти наборы данных обновляются ежедневно и могут изменять количество строк, Есть ли лучший способ проверить вместо жесткого кодирования указанный номер c?
Например, один набор данных может содержать только 400 строк, а другой - 2 миллиона. Могу ли я сказать, чтобы проверить «одно стандартное отклонение» от числа строк со вчерашнего дня? Но в этом случае мне нужно было бы начать собирать счетчики за предыдущие дни в отдельной таблице, и это может стать уродливым.
Прямо сейчас, для таблиц, которые меняются ежедневно, я делаю следующую элементарную проверку:
assert df.shape[0] <= 1016545 + 100
assert df.shape[0] >= 1016545 - 100
Но, очевидно, это не является устойчивым.
Любые предложения приветствуются.