Проверка данных в pandas: импорт, индексы, merge и итоги
В отчёте сошлись столбцы, но не деньги: после merge выросла выручка, пропущенная дата попала не в тот месяц, а присвоенные значения оказались у другого клиента. Начните с одной строки, для которой знаете правильный результат. Затем проверьте, на каком шаге меняются ключ, тип или число строк. Эта подборка связывает разборы рабочих ошибок с уроками и задачами pandas.
Сохранить смысл данных при импорте
У идентификатора и числа могут быть одинаковые символы, но разные правила. До расчётов определите типы, формат даты и допустимые пропуски. Сохраните несколько неверных строк отдельно: это поможет отличить ошибку источника от ошибки преобразования.
- Из Excel в pandas: сохраняем коды, даты и деньги для рабочего отчёта
- 03/04 — март или апрель: явный формат дат в pandas
- Ежемесячный отчёт в pandas: договор о данных до построения графиков
Прочитать CSV с явными типами и датами.
Попасть в нужные строки
Позиция строки меняется после сортировки и фильтрации. Для присваивания по бизнес-ключу проверьте, какое соответствие вы задали явно, а какое pandas достроил по индексу. Маленький пример с переставленными строками обнаруживает ошибку быстрее большого отчёта.
- Значения попали не в те строки: выравнивание Series по индексу
- Несколько версий заказа: выбираем актуальную запись по времени
- Сверка отчётов в pandas: какие строки изменились после новой выгрузки
Разобрать loc, iloc и присваивание по индексу.
Объединить таблицы без лишней выручки
До объединения выясните, уникален ли ключ с каждой стороны. После него сравните число строк, сумму и несовпавшие ключи. Рост строк может быть ожидаемым, но тогда нужно заново определить, что считается единицей итогового отчёта.
- pandas merge сопоставил пустые ключи: как защитить отчёт от ложных совпадений
- Один заказ в двух категориях: распределяем выручку после many-to-many merge
- Сравнение прайс-листов поставщиков в pandas: цена зависит от объёма заказа
Соединение таблиц с контролем кардинальности.
Проверить группировки и итог
Сравните общий итог до группировки и после неё. У пустого ключа, неизвестной суммы и нулевой продажи разный смысл. В отчётах по времени отдельно проверьте часовой пояс и границы периода.
- groupby потерял часть суммы: учитываем пустые ключи
- Все значения неизвестны, а сумма равна нулю: min_count в pandas
- Выручка за день в pandas: сначала часовой пояс, потом дата
Собрать сводные показатели через groupby и agg.
Продолжить обучение
Для самостоятельной проверки откройте задачи на очистку данных pandas. Если хочется пройти всю цепочку от массива до объединения таблиц, есть бесплатный тренажёр NumPy и pandas. Выберите задачу, отправьте своё решение и проверьте, сохраняется ли результат при другом порядке строк и пропущенных значениях.
Продолжить на практике
- NumPy и pandas: практический тренажёр ↗
Бесплатный тренажёр NumPy и pandas для тех, кто знает основы Python. Научитесь очищать таблицы, объединять данные и собирать отчёты: 31 урок и 124 задачи с кодом и автоматической проверкой.
