Экосистема pandas
Всё чаще пакеты создаются на основе pandas для решения конкретных задач подготовки, анализа и визуализации данных. Это обнадеживает, так как это означает, что pandas не только помогает пользователям обрабатывать задачи с данными, но и предоставляет разработчикам лучшую стартовую точку для создания мощных и более специализированных инструментов для работы с данными. Создание библиотек, дополняющих функциональность pandas, также позволяет развитию pandas оставаться сосредоточенным на его первоначальных требованиях.
Это неисчерпывающий список проектов, которые строятся на pandas, чтобы предоставить инструменты в пространстве PyData.
Мы хотели бы сделать поиск этих проектов проще для пользователей, если вам известны другие значимые проекты, которые, по вашему мнению, должны быть в этом списке, сообщите нам об этом.
Статистические данные и машинное обучение
Statsmodels
Statsmodels — ведущая Python-библиотека для статистики и эконометрики, имеющая давние особые отношения с pandas. Statsmodels предоставляет мощные статистические, эконометрические, аналитические и моделирующие возможности, которые выходят за рамки pandas. Statsmodels использует объекты pandas в качестве базового контейнера данных для вычислений.
sklearn-pandas
Используйте pandas DataFrame в вашей ML-пайплайне scikit-learn.
Визуализация
Bokeh
Bokeh — это интерактивная библиотека визуализации Python для больших наборов данных, которая изначально использует новейшие веб-технологии. Её цель — предоставление элегантного и лаконичного построения новых графиков в стиле Protovis/D3, обеспечивая при этом высокую производительность интерактивности с большими данными для тонких клиентов.
yhat/ggplot
ggplot2 — фундаментальный пакет для разведывательной визуализации от Хэдли Уикхема для языка R. Основанный на «Грамматике графики», он предоставляет мощный, декларативный и чрезвычайно универсальный способ создания индивидуальных графиков любого типа данных. Это действительно невероятно. Существуют различные реализации для других языков, но надёжной реализации для пользователей Python долгое время не хватало. Хотя проект yhat/ggplot всё ещё молодой (по состоянию на январь 2014 г.), он быстро продвигается в этом направлении.
Seaborn
Хотя pandas имеет довольно много встроенной функциональности «просто нарисуйте график», визуализация, и, в частности, статистическая графика, — это обширная область с богатой традицией и большим объёмом работы. Проект Seaborn опирается на pandas и matplotlib, чтобы обеспечить лёгкое построение графиков данных, что расширяется до более сложных типов графиков, чем те, которые предлагаются pandas.
Vincent
Проект Vincent использует Vega (который, в свою очередь, использует d3), чтобы создавать графики. Хотя функциональный, по состоянию на лето 2016 года проект Vincent не обновлялся более двух лет и, вероятно, не получит дальнейших обновлений.
IPython Vega
Как и Vincent, проект IPython Vega использует Vega для создания графиков, но в основном ориентирован на среду IPython Notebook.
Plotly
API Plotly для Python позволяет создавать интерактивные графики и делиться ими в сети. Карты, 2D, 3D и потоковые графики отрисовываются с помощью WebGL и D3.js. Библиотека поддерживает построение графиков непосредственно из pandas DataFrame и облачное сотрудничество. Пользователи matplotlib, ggplot для Python и Seaborn могут преобразовывать графики в интерактивные веб-графики. Графики могут быть созданы в IPython Notebooks, отредактированы с помощью R или MATLAB, изменены в графическом интерфейсе или встроены в приложения и панели управления. Plotly бесплатно для неограниченного совместного использования и имеет облачные, автономные или локальные учётные записи для частного использования.
QtPandas
Выделенный из основной библиотеки pandas, пакет qtpandas позволяет визуализировать и обрабатывать DataFrame в приложениях PyQt4 и PySide.
IDE
IPython
IPython — это интерактивная командная оболочка и среда распределённых вычислений. IPython Notebook — это веб-приложение для создания IPython-блокнотов. IPython-блокнот — это JSON-документ, содержащий упорядоченный список ячеек ввода/вывода, которые могут содержать код, текст, математические выражения, графики и богатые медиаданные. IPython-блокноты можно преобразовать в ряд выходных форматов открытых стандартов (HTML, HTML-презентационные слайды, LaTeX, PDF, ReStructuredText, Markdown, Python) через «Скачать как» в веб-интерфейсе и ipython nbconvert в оболочке.
DataFrame pandas реализуют _repr_html_ методы, которые используются IPython Notebook для отображения (упрощённых) HTML-таблиц. (Примечание: HTML-таблицы могут или не могут быть совместимы с форматами вывода IPython, отличными от HTML.)
quantopian/qgrid
qgrid — это «интерактивная сетка для сортировки и фильтрации DataFrame в IPython Notebook», созданная с помощью SlickGrid.
Spyder
Spyder — кроссплатформенная Qt-оболочка с открытым исходным кодом для IDE Python с функциями редактирования, тестирования, отладки и интроспекции. Spyder теперь может проводить интроспекцию и отображать DataFrame pandas и отображать как «минимальные/максимальные значения по столбцам, так и глобальные минимальные/максимальные значения с окраской».
API
pandas-datareader
pandas-datareader — это библиотека удалённого доступа к данным для pandas. pandas.io из pandas < 0.17.0 теперь переработана/вынесена в pandas_datareader (PyPI:pandas-datareader). Многие/большинство поддерживаемых API имеют по крайней мере абзац документации в документации pandas-datareader:
Доступны следующие каналы данных:
- Yahoo! Finance
- Google Finance
- FRED
- Fama/French
- Всемирный банк
- OECD
- Eurostat
- EDGAR Index
quandl/Python
Quandl API для Python оборачивает Quandl REST API, чтобы вернуть Pandas DataFrame с индексами временных рядов.
pydatastream
PyDatastream — это интерфейс Python для SOAP API Thomson Dataworks Enterprise (DWE/Datastream) для возвращения индексированных Pandas DataFrame или Panel с финансовыми данными. Этот пакет требует действительных учётных данных для этого API (не бесплатно).
pandaSDMX
pandaSDMX — это библиотека для извлечения и получения статистических данных и метаданных, распространяемых в SDMX 2.1, стандарте ISO, широко используемом такими организациями, как статистические управления, центральные банки и международные организации. pandaSDMX может предоставлять наборы данных и связанные с ними структурные метаданные, включая потоки данных, списки кодов и определения структур данных, как pandas Series или многоиндексированные DataFrame.
fredapi
fredapi — это интерфейс Python для Федеральных резервных экономических данных (FRED), предоставленных Федеральным резервным банком Сент-Луиса. Он работает как с базой данных FRED, так и с базой данных ALFRED, которая содержит данные на момент времени (то есть исторические версии данных). fredapi предоставляет оболочку на Python для HTTP-API FRED, а также предоставляет несколько удобных методов для анализа и обработки данных на момент времени из ALFRED. fredapi использует pandas и возвращает данные в виде Series или DataFrame. Этот модуль требует ключа API FRED, который вы можете получить бесплатно на веб-сайте FRED.
Прикладные решения
Geopandas
Geopandas расширяет объекты данных pandas, включая географическую информацию, которая поддерживает геометрические операции. Если ваша работа включает карты и географические координаты, и вы любите pandas, обязательно обратите внимание на Geopandas.
xarray
xarray расширяет возможности маркированных данных pandas для физических наук, предоставляя N-мерные варианты основных структур данных pandas. Он стремится предоставить похожий на pandas и совместимый с pandas инструмент для анализа многомерных массивов, а не табличных данных, для которых pandas отлично подходит.
Выход за пределы памяти
Dask
Dask — это гибкая библиотека параллельных вычислений для анализа. Dask позволяет получить привычный DataFrame интерфейс для вычислений вне оперативной памяти, параллельных и распределённых вычислений.
Blaze
Blaze предоставляет стандартный API для вычислений с различными внутренними и внешними хранилищами: NumPy, Pandas, SQLAlchemy, MongoDB, PyTables, PySpark.
Odo
Odo предоставляет единый API для перемещения данных между различными форматами. Он использует собственные read_csv pandas для CSV-ввода/вывода и использует множество существующих пакетов, таких как PyTables, h5py и pymongo, для перемещения данных между форматами, не связанными с pandas. Его подход на основе графов также расширяется конечными пользователями для настраиваемых форматов, которые могут быть слишком специфичными для ядра odo.
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.20.3/ecosystem.html