<НА ГЛАВНУЮ

Ускоряем pandas-воркфлоу с Modin на Google Colab

Узнайте, как Modin ускоряет pandas-воркфлоу с помощью параллельных вычислений в Google Colab. Сравнение производительности на сложных задачах и рекомендации по эффективному использованию.

Введение в Modin и параллельные вычисления

Modin — это мощная замена pandas, которая ускоряет обработку данных за счёт параллельных вычислений. Просто изменив импорт на import modin.pandas as pd, можно превратить существующий код pandas в распределённый вычислительный инструмент без изменений в логике.

Настройка Modin с бэкендом Ray

Начинаем с установки Modin с бэкендом Ray в Google Colab, что позволяет выполнять операции с DataFrame параллельно. Инициализация Ray с двумя CPU готовит среду для распределённой обработки. Предупреждения отключаются для чистоты вывода.

Функция бенчмарка для сравнения производительности

Определена функция benchmark_operation, которая измеряет время выполнения операций в pandas и Modin. Она вычисляет ускорение, показывая реальные преимущества Modin.

Создание большого синтетического набора данных

Генерируется синтетический набор данных с 500 000 строк, имитирующий реальные транзакционные данные: ID клиентов, суммы транзакций, категории, регионы, временные метки и другое. Создаются DataFrame для pandas и Modin для последующего сравнения. Отображается размер набора и объём памяти.

Сложная агрегация GroupBy

Выполняется многоуровневое группирование по категориям и регионам с агрегацией сумм, средних, стандартных отклонений и подсчётов. Бенчмарк показывает, как Modin эффективнее справляется с тяжёлыми агрегациями.

Продвинутая очистка данных и создание признаков

Удаляются выбросы из суммы транзакций с помощью метода IQR и создаются новые признаки: score транзакции и флаг высоких значений. Эта сложная предобработка также сравнивается между pandas и Modin.

Анализ временных рядов

Данные индексируются по дате для анализа ежедневных трендов. Вычисляются суммы, средние, количество и средний рейтинг за день, а также 7-дневное скользящее среднее. Это демонстрирует преимущества Modin при работе с временными данными.

Создание справочных таблиц для объединений

Создаются таблицы категорий товаров и регионов с метаданными (комиссии, налоги, стоимость доставки) в форматах pandas и Modin для операций объединения.

Сложные объединения и финансовые расчёты

Основной набор данных обогащается с помощью объединений с lookup-таблицами. Рассчитываются суммы комиссий, налогов и общих затрат. Бенчмарк показывает, как Modin эффективно выполняет сложные многоступенчатые операции.

Сравнение использования памяти

Вычисляется и сравнивается объём памяти, занимаемый pandas и Modin DataFrame, демонстрируя, что Modin эффективно управляет памятью даже на больших данных.

Итоги по производительности и лучшие практики

Считается среднее ускорение по всем операциям, выделяется операция с наилучшей производительностью. Представлен список советов по эффективному использованию Modin: замена импорта, выбор бэкенда, профилирование, конвертация в pandas.

Заключительные замечания

Данный туториал показывает, как Modin значительно ускоряет pandas-воркфлоу с минимальными изменениями кода, особенно на больших данных и сложных операциях. С Ray для параллелизма и высокой совместимостью с pandas API Modin отлично подходит для масштабирования анализа данных на Google Colab.

🇬🇧

Switch Language

Read this article in English

Switch to English