Ответ вслух Middle Пропуски, дубли и типы спрашивают часто обновлено

Как вы чистите сырые данные

Вопрос

Вам выгрузили CSV из CRM. Опишите по шагам, как вы приведёте его в порядок перед анализом.

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

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

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

Коротко

Начинаю с разведки: shape, head, info для типов, describe и доля пропусков по колонкам через isna().mean(). Потом типы: даты через todatetime, числа через tonumeric(errors="coerce"), а после этого смотрю, сколько значений превратилось в NaN, и разбираю их отдельно, чтобы не потерять данные молча.

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

  • Разведка: shape, info, head, describe, доля пропусков по колонкам

  • Типы: даты через to_datetime, числа через to_numeric с coerce, категории

  • Строки: strip, регистр, единый формат, лишние символы

  • Дубли: полные и по ключу, правило какую запись оставить

  • Пропуски: природа и стратегия, флаг пропуска

  • Проверки: диапазоны, уникальность ключа, сверка сумм с источником

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

  • Как понять, что пропуски не случайны?
  • Что делать, если в колонке даты в трёх форматах?
  • Как убедиться, что после чистки ничего не потеряли?

Разбор

Начинаю с разведки: shape, head, info для типов, describe и доля пропусков по колонкам через isna().mean(). Потом типы: даты через to_datetime, числа через to_numeric(errors="coerce"), а после этого смотрю, сколько значений превратилось в NaN, и разбираю их отдельно, чтобы не потерять данные молча. Строки нормализую: str.strip, регистр, единый формат телефонов или городов. Дальше дубли: полные и по бизнес-ключу, с правилом, какую версию оставляю, обычно самую свежую по updated_at. Пропуски обрабатываю по смыслу: где-то это ноль, где-то «неизвестно», иногда добавляю флаг пропуска. В конце проверки: уникальность ключа, разумные диапазоны, число строк до и после каждого шага и сверка итоговых сумм с источником.

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

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