Экосистема pandas
Всё больше пакетов разрабатывается на основе pandas для решения конкретных задач подготовки, анализа и визуализации данных. Это обнадеживает, потому что это означает, что pandas не только помогает пользователям выполнять задачи с данными, но и предоставляет лучшую отправную точку для разработчиков, чтобы создавать мощные и более специализированные инструменты для работы с данными. Создание библиотек, которые дополняют функциональность pandas, также позволяет развитию pandas оставаться сосредоточенным на первоначальных требованиях.
Это неполный список проектов, которые построены на pandas, чтобы предоставить инструменты в пространстве PyData.
Мы хотели бы сделать поиск этих проектов более удобным для пользователей. Если вы знаете о других значительных проектах, которые, по вашему мнению, должны быть включены в этот список, сообщите нам об этом.
Статистика и машинное обучение
Statsmodels
Statsmodels — это ведущая Python-библиотека «статистики и эконометрики», и у нее давние особые отношения с pandas. Statsmodels предоставляет мощную функциональность в области статистики, эконометрики, анализа и моделирования, которая выходит за рамки возможностей pandas. Statsmodels использует объекты pandas в качестве базовых контейнеров данных для вычислений.
sklearn-pandas
Используйте pandas DataFrame в вашем 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), чтобы создавать графики. Он имеет отличную поддержку для объектов данных pandas.
Plotly
Plotly Python API позволяет создавать интерактивные фигуры и легко делиться ими в сети. Карты, 2D, 3D и графики потоковой передачи в реальном времени выводятся с использованием WebGL и D3.js. Библиотека поддерживает построение графиков непосредственно из pandas DataFrame и облачное сотрудничество. Пользователи matplotlib, ggplot для Python и Seaborn могут конвертировать фигуры в интерактивные веб-графики. Графики могут быть созданы в IPython Notebook, отредактированы с помощью R или MATLAB, изменены в графическом интерфейсе или встроены в приложения и панели мониторинга. Plotly бесплатно для неограниченного совместного использования и имеет облачные, локальные или корпоративные аккаунты для частного использования.
IDE
IPython
IPython — это интерактивная командная оболочка и среда распределённых вычислений. IPython Notebook — это веб-приложение для создания IPython ноутбуков. IPython ноутбук — это JSON-документ, содержащий упорядоченный список ячеек ввода/вывода, которые могут содержать код, текст, математику, графики и богатые медиа. IPython ноутбуки могут быть преобразованы в ряд открытых стандартных выходных форматов (HTML, слайды HTML-презентации, LaTeX, PDF, ReStructuredText, Markdown, Python) через «Скачать как» в веб-интерфейсе и ipython nbconvert в оболочке.
Pandas DataFrame реализует _repr_html_ методы, которые используются IPython Notebook для отображения (сокращённых) HTML-таблиц. (Примечание: HTML-таблицы могут быть совместимы или несовместимы с не-HTML IPython форматами вывода.)
quantopian/qgrid
qgrid — это «интерактивная сетка для сортировки и фильтрации DataFrames в IPython Notebook», созданная с помощью SlickGrid.
Spyder
Spyder — это кроссплатформенная Qt-базированная открытая IDE для Python с функциями редактирования, тестирования, отладки и интроспекции. Spyder теперь может интроспектировать и отображать pandas DataFrames, показывая как «минимальные/максимальные значения по столбцам, так и глобальные минимальные/максимальные значения с цветовым кодированием».
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
- Всемирный банк
- ОЭСР
- Евростат
- EDGAR Index
quandl/Python
Quandl API для Python оборачивает Quandl REST API, чтобы возвращать Pandas DataFrames со временными индексами.
pydatastream
PyDatastream — это Python-интерфейс к Thomson Dataworks Enterprise (DWE/Datastream) SOAP API для возвращения индексированных Pandas DataFrames или панелей с финансовыми данными. Для этого пакета требуются действительные учетные данные для этого API (не бесплатно).
pandaSDMX
pandaSDMX — это расширяемая библиотека для извлечения и получения статистических данных и метаданных, распространяемых в формате SDMX 2.1. Этот стандарт в настоящее время поддерживается Европейским статистическим агентством (Евростат) и Европейским центральным банком (ЕЦБ). Наборы данных могут возвращаться как pandas Series или многоуровневые DataFrames.
fredapi
fredapi — это Python-интерфейс к Federal Reserve Economic Data (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 инструментария для анализа многомерных массивов, а не табличных данных, для которых excels 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.18.1/ecosystem.html