Spec-Zone.ru › pandas 0.24

Экосистема pandas

Все больше и больше пакетов строятся поверх pandas для решения конкретных задач подготовки, анализа и визуализации данных. Это обнадеживает, так как означает, что pandas не только помогает пользователям обрабатывать задачи с данными, но и предоставляет лучшую отправную точку для разработчиков, чтобы создавать мощные и более специализированные инструменты для работы с данными. Создание библиотек, дополняющих функциональность pandas, также позволяет развитию pandas оставаться сосредоточенным на его первоначальных требованиях.

Это неполный список проектов, которые строятся на pandas, чтобы предоставлять инструменты в пространстве PyData. Для списка проектов, которые зависят от pandas, см. страницу использования libraries.io для pandas https://libraries.io/pypi/pandas/usage или поиск на pypi по pandas https://pypi.org/search/?q=pandas.

Мы хотели бы сделать поиск этих проектов более удобным для пользователей. Если вы знаете о других крупных проектах, которые, по вашему мнению, должны быть включены в этот список, сообщите нам об этом.

Статистика и машинное обучение

Statsmodels

Statsmodels — ведущая Python-библиотека для «статистики и эконометрики», и она имеет давние особые отношения с pandas. Statsmodels предоставляет мощные статистические, эконометрические, аналитические и моделирующие возможности, которые выходят за рамки возможностей pandas. Statsmodels использует объекты pandas в качестве базового контейнера данных для вычислений.

sklearn-pandas

Используйте pandas DataFrame в вашем конвейере ML scikit-learn.

Featuretools

Featuretools — Python-библиотека для автоматизированной обработки признаков, построенная поверх pandas. Она превосходно справляется с преобразованием временных и реляционных наборов данных в матрицы признаков для машинного обучения, используя многократно используемые «примитивы» обработки признаков. Пользователи могут создавать свои собственные примитивы на Python и делиться ими с сообществом.

Визуализация

Altair

Altair — это декларативная библиотека статистической визуализации для Python. С помощью Altair вы можете больше времени уделять пониманию ваших данных и их смысла. API Altair прост, дружелюбен и последователен и построен на мощной JSON-спецификации Vega-Lite. Эта элегантная простота порождает красивые и эффективные визуализации с минимальным количеством кода. Altair работает с Pandas DataFrame.

Bokeh

Bokeh — это интерактивная библиотека визуализации для больших наборов данных, которая изначально использует новейшие веб-технологии. Ее цель — обеспечить элегантное и лаконичное создание новых графиков в стиле Protovis/D3, обеспечивая при этом высокую производительность интерактивности с большими данными на тонких клиентах.

seaborn

Seaborn — это библиотека визуализации Python, основанная на matplotlib. Она предоставляет интерфейс высокого уровня, ориентированный на наборы данных, для создания привлекательных статистических графиков. Функции построения графиков в seaborn понимают объекты pandas и используют внутренние операции группировки pandas для поддержки лаконичной спецификации сложных визуализаций. Seaborn также выходит за рамки matplotlib и pandas, предоставляя возможность выполнения статистической оценки при построении графиков, агрегирования по наблюдениям и визуализации подгонки статистических моделей для выделения закономерностей в наборе данных.

yhat/ggpy

ggplot2 Хэдли Уикхема — фундаментальный пакет исследовательской визуализации для языка R. Основанный на «Грамматике графиков» https://www.cs.uic.edu/~wilkinson/TheGrammarOfGraphics/GOG.html, он предоставляет мощный, декларативный и чрезвычайно универсальный способ генерации индивидуальных графиков любого типа данных. Это действительно невероятно. Доступны различные реализации для других языков, но надежной реализации для пользователей Python долгое время не хватало. Несмотря на то, что он все еще молод (по состоянию на январь 2014 г.), проект yhat/ggpy быстро продвигается в этом направлении.

IPython Vega

IPython Vega использует Vega для создания графиков в Jupyter Notebook.

Plotly

Plotly Python API позволяет создавать интерактивные графики и делиться ими в Интернете. Карты, 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 работает с методами Pandas и также атрибутами, такими как столбцы DataFrame.

Jupyter Notebook / Jupyter Lab

Jupyter Notebook — это веб-приложение для создания Jupyter блокнотов. Jupyter блокнот — это JSON-документ, содержащий упорядоченный список ячеек ввода/вывода, которые могут содержать код, текст, математические выражения, графики и другие мультимедийные элементы. Jupyter блокноты могут быть преобразованы во множество открытых стандартных выходных форматов (HTML, слайды презентации HTML, LaTeX, PDF, ReStructuredText, Markdown, Python) через «Скачать как» в веб-интерфейсе и jupyter convert в оболочке.

Pandas DataFrame реализуют _repr_html_``and ``_repr_latex методы, которые используются Jupyter Notebook для отображения (сокращенных) HTML- или LaTeX-таблиц. Вывод LaTeX должным образом экранирован. (Примечание: HTML-таблицы могут быть или не быть совместимыми с форматами выходных данных Jupyter, отличными от HTML.)

См. Параметры и настройки и Доступные параметры для настроек pandas display..

quantopian/qgrid

qgrid — это «интерактивная сетка для сортировки и фильтрации DataFrames в IPython Notebook», созданная с помощью SlickGrid.

Spyder

Spyder — кроссплатформенный IDE на основе PyQt, объединяющий функции редактирования, анализа, отладки и профилирования инструмента разработки программного обеспечения с возможностями разведки данных, интерактивного выполнения, глубокого анализа и богатой визуализации в научной среде, такой как MATLAB или Rstudio.

Его Обозреватель переменных позволяет пользователям просматривать, изменять и редактировать объекты pandas Index, Series, и DataFrame как «электронную таблицу», включая копирование и изменение значений, сортировку, отображение «тепловой карты», преобразование типов данных и многое другое. Объекты pandas также могут быть переименованы, дублированы, добавлены новые столбцы, скопированы/вставлены в буфер обмена (как TSV) и сохранены/загружены в/из файла. Spyder также может импортировать данные из различных текстовых и двоичных файлов или из буфера обмена в новый pandas DataFrame с помощью усовершенствованного мастера импорта.

Большинство классов, методов и атрибутов данных pandas могут быть дополнены в редакторе Spyder и консоли IPython и панель справки Spyder может получать и отображать документацию Numpydoc по объектам pandas в формате rich text с помощью Sphinx как автоматически, так и по запросу.

API

pandas-datareader

pandas-datareader — это библиотека удаленного доступа к данным для pandas (PyPI: pandas-datareader). Она основана на функциональности, которая находилась в pandas.io.data и pandas.io.wb, но была выделена в версии 0.19. Подробнее см. в документации pandas-datareader https://pandas-datareader.readthedocs.io/en/latest/:

Доступны следующие каналы данных:

  • Google Finance
  • Tiingo
  • Morningstar
  • IEX
  • Robinhood
  • Enigma
  • Quandl
  • FRED
  • Fama/French
  • Всемирный банк
  • ОЭСР
  • Евростат
  • Данные фонда TSP
  • Определения символов торгов Nasdaq
  • Индексные данные Stooq
  • Данные MOEX

quandl/Python

Quandl API для Python оборачивает Quandl REST API для возврата pandas DataFrame с индексами временных рядов.

pydatastream

PyDatastream — это Python-интерфейс к SOAP-API Thomson Dataworks Enterprise (DWE/Datastream) http://dataworks.thomson.com/Dataworks/Enterprise/1.0/ для возврата индексированных pandas DataFrame или Panel с финансовыми данными. Для этого пакета требуются действительные учетные данные для этого API (не бесплатно).

pandaSDMX

pandaSDMX — это библиотека для извлечения и получения статистических данных и метаданных, распространяемых в SDMX 2.1, ISO-стандарте, широко используемом такими учреждениями, как статистические органы, центральные банки и международные организации. pandaSDMX может отображать наборы данных и связанные с ними структурные метаданные, включая потоки данных, списки кодов и определения структуры данных, как pandas Series или MultiIndexed DataFrame.

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 инструмент для анализа многомерных массивов, а не табличных данных, в которых pandas преуспевает.

Внеядерная работа

Blaze

Blaze предоставляет стандартный API для вычислений с различными бекендами в оперативной памяти и на диске: NumPy, Pandas, SQLAlchemy, MongoDB, PyTables, PySpark.

Dask

Dask — это гибкая библиотека параллельных вычислений для аналитики. Dask предоставляет знакомый DataFrame интерфейс для внеядерных, параллельных и распределённых вычислений.

Dask-ML

Dask-ML позволяет использовать параллельную и распределённую машинную обработку с использованием Dask совместно с существующими библиотеками машинного обучения, такими как Scikit-Learn, XGBoost и TensorFlow.

Odo

Odo предоставляет единый API для перемещения данных между различными форматами. Он использует собственные read_csv pandas для CSV-ввода-вывода и использует множество существующих пакетов, таких как PyTables, h5py и pymongo, для перемещения данных между форматами, не использующими pandas. Его подход, основанный на графах, также расширяем конечными пользователями для пользовательских форматов, которые могут быть слишком специфическими для ядра odo.

Ray

Pandas на Ray — это библиотека DataFrame на ранней стадии разработки, которая оборачивает Pandas и прозрачно распределяет данные и вычисления. Пользователю не нужно знать, сколько ядер у его системы, ни как распределить данные. Фактически, пользователи могут продолжать использовать свои предыдущие ноутбуки Pandas, при этом ощущая значительное ускорение от Pandas на Ray, даже на одном компьютере. Необходимо только изменить оператор импорта, как показано ниже. После изменения оператора импорта вы готовы использовать Pandas на Ray так же, как и Pandas.

# import pandas as pd
import ray.dataframe as pd

Vaex

Всё чаще пакеты создаются поверх pandas для решения конкретных задач подготовки данных, анализа и визуализации. Vaex — это библиотека Python для внеядерных DataFrame (аналогичных Pandas), для визуализации и исследования больших табличных наборов данных. Она может вычислять статистические данные, такие как среднее значение, сумма, количество, стандартное отклонение и т.д., на N-мерной сетке до миллиарда (109) объектов/строк в секунду. Визуализация выполняется с помощью гистограмм, графиков плотности и 3D-рендеринга объёма, что позволяет интерактивно исследовать большие данные. Vaex использует кэширование в памяти, политику нулевого копирования в памяти и ленивые вычисления для наилучшей производительности (ненужная память не используется).

  • vaex.from_pandas
  • vaex.to_pandas_df

Валидация данных

Engarde

Engarde — лёгкая библиотека, используемая для явного указания ваших предположений о ваших наборах данных и проверки того, что они действительно верны.

Расширяемые типы данных

Pandas предоставляет интерфейс для определения расширяемых типов для расширения системы типов NumPy. Следующие библиотеки реализуют этот интерфейс, чтобы предоставить типы, отсутствующие в NumPy или pandas, которые хорошо работают с контейнерами данных pandas.

cyberpandas

Cyberpandas предоставляет расширяемый тип для хранения массивов IP-адресов. Эти массивы могут храниться в Series и DataFrame pandas.

Доступные атрибуты

Справочник проектов, предоставляющих расширяемые атрибуты. Это для пользователей, чтобы обнаружить новые атрибуты, и для авторов библиотек, чтобы согласовать пространство имён.

Библиотека Атрибут Классы
cyberpandas ip Series
pdvega vgplot Series, DataFrame

© 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.24.2/ecosystem.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API