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