Используйте Modin для масштабирования исследований и визуализации данных

Pandas - одна из самых популярных библиотек Python, используемых для исследования и визуализации данных. Pandas предлагает множество встроенных функций, которые упрощают исследование данных. Но когда дело доходит до обработки набора данных большого размера, он терпит неудачу, поскольку выполняет все операции с использованием одноядерного процессора. Pandas не использует все доступные ядра ЦП для масштабирования вычислений.

Все доступные ядра ЦП можно использовать для увеличения производительности и временной сложности больших и сложных вычислений. Существуют различные библиотеки с открытым исходным кодом, такие как Vaex, Dask, Modin и многие другие, которые могут использовать все ядра ЦП для увеличения производительности. Полное использование ядер ЦП экономит время Data Scientist, так как сокращает время вычислений.

Прочтите статью ниже, чтобы узнать, как обрабатывать набор данных из 200 миллионов записей с помощью Vaex.



В этой статье вы можете прочитать, как увеличить производительность вычислений библиотеки Pandas с помощью Modin, просто изменив одну строку кода.

Что такое модин?

Modin - это библиотека Python с открытым исходным кодом, которая ускорила рабочий процесс Pandas, распределяя операции между несколькими ядрами ЦП. В отличие от других распределенных библиотек, Modin может быть легко интегрирован и совместим с библиотекой Pandas и имеет аналогичные API.

Разработчику не нужно беспокоиться об указании доступности ядер ЦП или о том, как распределять данные. Modin заботится обо всем, распределяя вычисления между несколькими ядрами ЦП.

Установка и использование:

Modin можно установить с помощью PyPl:

pip install modin

После установки библиотеки импортируйте библиотеку, чтобы использовать ее в дальнейшем:

import modin.pandas as md

Это всего лишь одна строка изменения в коде, которую нужно внести, чтобы увеличить производительность Pandas. API Modin очень похож на API Pandas, поэтому разработчикам не нужно беспокоиться об изучении или поиске.

Как Модин работает под капотом?

Операции с фреймом данных с использованием Pandas выполняются медленно, поскольку он использует одноядерный процессор для выполнения вычислений и не использует преимущества многоядерного процессора. Современный ноутбук имеет множество ядер, которые можно использовать параллельно для увеличения производительности. Modin делает то же самое, он использует все ядра ЦП и распределяет свои вычисления по нескольким ядрам ЦП, что помогает повысить производительность.

Для большой рабочей станции по обработке и анализу данных или кластера с большим количеством ядер ЦП производительность Modin растет экспоненциально, как следует за полным использованием ядер ЦП.

Покрытие API:

Модин использует движок Ray или Dask для ускорения вычислений. Что касается покрытия API, то большая часть обычно используемого API покрывается Modin, и огромное количество разработок будет охватывать оставшиеся функции.

About,
91% of API’s are covered for Pandas Dataframe.
88% of API’s are covered for Pandas Series.

Контрольные временные ограничения:

Заключение:

Наблюдая за контрольными временными числами, мы можем сделать вывод, что операции Modin выполняются быстрее по сравнению с Pandas. Modin распределяет вычисления и использует ядра ЦП в полную силу. Существуют различные другие распределенные библиотеки, API которых похож на API Pandas, включая Dask, Vaex, Pandarallel и многие другие.

Использованная литература:

[1] Документация Modin: https://modin.readthedocs.io/en/latest/

[2] Документация Pandas: https://pandas.pydata.org/docs/

Спасибо за чтение