Сделайте Pandas в 3 раза быстрее с PyPolar
Узнайте, как ускорить рабочий процесс Pandas с помощью библиотеки PyPolars.
By Сатьям Кумар, Энтузиаст машинного обучения и программист
Фото Тим Гоу on Unsplash
Pandas - один из самых важных пакетов Python среди специалистов по обработке данных, позволяющий экспериментировать с данными. Библиотека Pandas используется в основном для исследования и визуализации данных, поскольку она имеет множество встроенных функций. Pandas не может обрабатывать наборы данных большого размера, поскольку он не масштабирует и не распределяет свой процесс по всем ядрам ЦП.
Чтобы ускорить вычисления, можно задействовать все ядра процессора и ускорить рабочий процесс. Существуют различные библиотеки с открытым исходным кодом, включая Dask, Vaex, Modin, Pandarallel, PyPolars и т. Д., Которые распараллеливают вычисления между несколькими ядрами ЦП. В этой статье мы обсудим реализацию и использование библиотеки PyPolars и сравним ее производительность с библиотекой Pandas.
Что такое PyPolar?
PyPolar - это библиотека фреймов данных Python с открытым исходным кодом, похожая на Pandas. PyPolar использует все доступные ядра ЦП и, следовательно, выполняет вычисления быстрее, чем Pandas. PyPolar имеет API, похожий на API Pandas. Написано ржавчиной с оберткой Python.
В идеале PyPolar используется, когда данные слишком велики для Pandas и слишком малы для Spark.
Как работает PyPolars?
Библиотека PyPolars имеет два API: один - Eager API, а другой - Lazy API. Eager API очень похож на Pandas, и результаты выдаются сразу после завершения выполнения, как и Pandas. Ленивый API очень похож на Spark, где карта или план формируется при выполнении запроса. Затем выполнение выполняется параллельно на всех ядрах ЦП.
(Изображение автора), API PyPolars
PyPolars - это в основном привязка python к библиотеке Polars. Лучшая часть библиотеки PyPolars - это ее API-интерфейс, похожий на Pandas, что упрощает работу разработчиков.
Установка:
PyPolar можно установить из PyPl с помощью следующей команды:
pip install py-polars
и импортируйте библиотеку, используя
import pypolars as pl
Контрольные временные ограничения:
Для демонстрации я использовал набор данных большого размера (~ 6.4 ГБ), содержащий 25 миллионов экземпляров.
(Изображение автора), Контрольное число времени для основных операций Pandas и Py-Polars
Для приведенных выше показателей времени для некоторых базовых операций с использованием библиотеки Pandas и PyPolar мы можем заметить, что PyPolar почти в 2–3 раза быстрее, чем Pandas.
Теперь мы знаем, что PyPolar имеет API, очень похожий на API Pandas, но, тем не менее, он не охватывает все функции Pandas. Например, у нас нет .describe()
в PyPolar вместо этого мы можем использовать df_pypolars.to_pandas().describe()
Применение:
(Код автора)
Вывод:
В этой статье мы рассмотрели небольшое введение в библиотеку PyPolars, включая ее реализацию, использование и сравнение ее контрольных значений времени с Pandas для некоторых основных операций. Обратите внимание, что PyPolar работает очень похоже на Pandas, а PyPolar - это библиотека с эффективным использованием памяти, поскольку поддерживаемая ею память неизменна.
Можно пройти через документации чтобы получить подробное представление о библиотеке. Существуют различные другие библиотеки с открытым исходным кодом, которые могут распараллеливать операции Pandas и ускорять процесс. Прочтите нижеупомянутая статья знать 4 такие библиотеки:
4 библиотеки, которые могут распараллелить существующую экосистему Pandas
Распределите рабочую нагрузку Python путем параллельной обработки с помощью этих фреймворков.
Ссылки:
[1] Документация Polars и репозиторий GitHub: https://github.com/ritchie46/polars
Спасибо за чтение
Bio: Сатьям Кумар Энтузиаст машинного обучения и программист. Сатьям пишет о Data Science и является ведущим писателем в области искусственного интеллекта. Он ищет интересную карьеру в организации, которая дает возможность извлечь выгоду из его технических навыков и способностей.
Оригинал, Перемещено с разрешения.
Связанный:
Главные истории за последние 30 дней
Источник: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- алгоритмы
- Все
- среди
- API
- API
- около
- гайд
- автоматический
- эталонный тест
- ЛУЧШЕЕ
- Книги
- Карьера
- карьера
- код
- данным
- наука о данных
- ученый данных
- визуализация данных
- сделка
- застройщиков
- инженер
- и т.д
- выполнение
- GitHub
- инструкция
- Как
- How To
- HTTPS
- изображение
- В том числе
- IT
- большой
- УЧИТЬСЯ
- изучение
- Библиотека
- обучение с помощью машины
- карта
- средний
- Microsoft
- Microsoft Research
- миллиона
- модель
- номера
- Операционный отдел
- Возможность
- Другие контрактные услуги
- производительность
- Произведенный
- Питон
- Reading
- исследованиям
- Итоги
- Ржавчина
- Шкала
- Наука
- Размер
- навыки
- небольшой
- скорость
- SQL
- Начало
- Истории
- Технический
- время
- Тон
- топ
- визуализация
- рабочий
- работает
- писатель
- X