Найти тему
Николай Лазарев

Подготовка важного отчёта Python Pandas

Jan 19, 2022

Поставлена аналитическая задача, проанализировать динамику продаж по выбранным контрагентам за определенный период в сравнении с предыдущим. Вроде бы всё просто, но есть нюанс. При выгрузке данных из корпоративной системы получается порядка 3,7 млн. строк. Кроме того, необходимо предоставить данные в специальном разрезе. Такой разбивки в системе нет. Необходимо воспользоваться несколькими вспомогательными классификаторами. Связать таблицы по полю артикул.

Привожу алгоритм обработки данных Python с помощью библиотеки Pandas:

  • Импортируем библиотеки, настраиваем отображение таблиц.
  • Загружаем данные.
  • Сверка с данными других отчётов (например SQL), анализ в случае спорных моментов.
  • Заполняем пустые поля для корректной агрегации данных.
  • Загружаем классификатор номенклатуры.
  • Объединяем отчёт с нужными полями классификатора.
  • Загружаем вспомогательный классификатор.
  • Объединяем крайний отчет и вспомогательный классификатор.
  • Применяем conditions_companies когда нужно выбрать конкретные компании из всех.
  • Заполняем пустые поля для корректной агрегации данных.
  • Группируем данные для итогового отчёта.
  • Вспомогательные вычисления для проверки.
  • Выгружаем отчет.

Ноутбук для формирования отчёта (для публикации коммерческие данные удалены).

В итоге по каждой компании из списка агрегированы продажи за текущий и прошлый период в разрезе необходимых направлений. Для реализации был выбран инструмент Python Pandas из-за большого объёма данных. Естественно, что excel или access не потянут такое количество строк. Можно было попробовать и другие аналитические инструменты, но также нужно поддерживать навык написания кода. Поэтому, когда прилетают подобные задачи, стараюсь использовать Python. В течение последнего года провожу подобные вычисления несколько раз в квартал.