12 библиотек для работы с данными в Python
Обзор часто используемых на практике библиотек, которые работают с данными на Python, помимо таких популярных, как Pandas, Numpy, Scipy, Scikit-learn и Matplotlib.
Все мы знаем, что Python хорош для анализа данных, но мало кто знает, почему это так. Первый релиз Python был в 1989 году, и за это время для него была разработана целая экосистема, в которой можно просто и быстро работать с данными. И для этого есть огромное множество библиотек, не считая таких популярных, как Pandas, Numpy, Scipy, Scikit-Learn и Matplotlib. Итак, начнем по порядку.
1. Чтение данных
Feather
- предназначена для чтения и записи данных с устройств;
- быстрый и удобный бинарный формат данных;
- быстро считывает большие массивы данных;
- отлично подходит для перевода данных из одного языка в другой;
- используется не только в Python, но также и в R.
Ibis
- обеспечивает доступ между локальным окружение в Python и удаленными хранилищами, как Hadoop, по всем правилам Zen of Python;
- полностью интегрирован с экосистемой Python.
ParaText
- это быстрый способ получения данных с диска в оперативную память;
- интегрирован с библиотекой Pandas;
- быстрое чтение файлов в формате CSV размером до 2.5GB;
- удобная реализация чтения файлов в параллельных процессах на многоядерных машинах.
bcolz
Эта библиотека лучше всего подходит для работы с данными, которые занимают больше места, чем может позволить ваша оперативная память.
- файлы хранятся в сжатом формате;
- позволяет экономить оперативную память;
- интеграция с Pandas.
2. Визуализация данных
Altair
- похож на Matplotlib, но более удобен в использовании;
- имеет очень хороший и понятный API;
- создает красивые и презентабельные графики;
- интегрирован с Pandas;
- в основном создает только статические графики.
Bokeh
- отличная визуализация для Web;
- реализация простых и красивых графиков;
- похож на D3.js, но проще в использовании;
- имеет огромное количество различных графиков.
Geoplotlib
- одна из самых популярных библиотек для управления интерактивными картами;
- позволяет просто и быстро создавать карты;
- на вход принимает список [название, широта, долгота].
3. Преобразование данных
Blaze
- Numpy для больших данных;
- переводит Pandas/Numpy синтаксис в формат, понятный для больших вычислительных систем;
- код, написанный по всем канонам Python и способный запрашивать данные в различных системах их хранения;
- прост в обработке и преобразовании данными.
xarray
- обработка многомерных данных как в Pandas;
- общепринятый формат для обработки данных Data Frame.
Dask
- эта библиотека позволяет эффективно организовывать параллельные вычисления;
- оптимизация вычислений с помощью динамического планирования задач;
- коллекции больших данных хранятся как параллельные массивы/списки и позволяют работать с ними через Numpy/Pandas.
4. Моделирование
Keras
- высокоуровневый интерфейс для таких библиотек, как Theano и TensorFlow;
- очень много понятных новичкам уроков в интернете;
- библиотека основана на Deep Learning.
PyMC3
- в основе этой библиотеки лежит вероятностное программирование;
- хорошая реализация Байесового статического моделирования;
- содержит в себе лучшие алгоритмы, разработанные академическим сообществом.
Эти многие и другие библиотеки в Python позволяют аналитикам и экспертам машинного обучения работать с большими объемами текстовых данных при использовании минимальных аппаратных затрат и времени.