Ответ вслух Junior Чтение и запись данных обновлено

Ловушки при чтении данных

Вопрос

Какие проблемы вы проверяете сразу после чтения файла в pandas?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сразу смотрю shape, head() и dtypes. Если всё легло в одну колонку, неверный sep.

Что должно прозвучать в ответе

  • `shape`, `head`, `dtypes`: правильно ли разобраны колонки

  • Числа и даты не стали строками: `sep`, `decimal`, `parse_dates`

  • ID с ведущими нулями прочитаны строкой

  • Пропуски: `isna().sum()`, не съел ли парсер реальные значения вроде `NA`

  • Кодировка: нет ли кракозябр

  • Дубликаты и неожиданные значения

Что могут спросить следом

  • Почему целые стали float?
  • Что делать, если в колонке смешаны форматы дат?

Разбор

Сразу смотрю shape, head() и dtypes. Если всё легло в одну колонку, неверный sep. Если числа стали строками (object или str), скорее всего запятая в дробях, нужен decimal=",", или мусорные значения в колонке. Даты разбираю parse_dates или to_datetime с явным форматом. ID, индексы, ИНН читаю строкой, иначе пропадут ведущие нули. Считаю пропуски по колонкам и проверяю, не превратились ли в NaN реальные значения вроде кода страны NA. Если в тексте кракозябры, пробую cp1251. И смотрю на дубликаты и аномалии: отрицательные суммы, даты из будущего.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме