Найти тему
Властелин машин

Эффективная диагностика ошибок в данных с Pandas

Оглавление

Рассмотрим продвинутые способы борьбы с ошибками при обработке данных в Pandas. В демонстрационных целях создадим следующий файл:

Чтение файла с испорченной структурой

Так как структура файла в пятой строке отличается от ожидаемой (три столбца, разделенные символом табуляции), то попытка прочитать его вызовет ошибку:

-2
-3

Чтобы отфильтровать "грязные строки" и загрузить оставшиеся в датафрейм, в методе read_csv предусмотрен "волшебный" параметр on_bad_lines, который позволяет изменить поведение по умолчанию и вместо вывода ошибок проигнорировать их с опцией напечатать предупреждение:

-4

Преобразование полей с нетекстовыми типами

Попытаемся привести колонку 'дата_получения' к формату даты:

-5
-6

Получаем ошибку, так как некоторые поля столбца (в частности, первое) не удовлетворяют формату. Чтобы заглушить исключение и сделать преобразование для "нормальных" значений воспользуемся параметром errors='coerce':

-7

"Ошибочные" значения заменятся на NaT . По этому признаку можно их выявить и применить дополнительные преобразования к исходному столбцу:

-8

Аналогичный параметр errors содержит функция to_numeric, преобразующая поля в числа:

-9
-10