Создавайте богатые визуализации и информационные панели с помощью бэкэнда Pandas для построения графиков для Plotly и Bokeh.

Функции построения графиков в популярной библиотеке анализа данных Python Pandas всегда были одним из моих любимых методов для создания сверхбыстрых диаграмм. Однако доступные визуализации всегда были довольно простыми и не особо красивыми.

Я часто обнаруживал, что быстро выполняю некоторое визуальное исследование данных, используя функцию построения графиков Pandas. Но затем переделываем визуализацию с использованием одной из «более красивых» библиотек построения графиков, таких как Plotly или Bokeh, когда дело дошло до представления результатов заинтересованным сторонам.

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

Давайте посмотрим, как мы можем создавать более богатые визуализации с помощью бэкэндов Plotly и Bokeh.

Использование разных бэкэндов

Чтобы активировать различные бэкенды для функций построения графиков, после импорта панд добавьте эту строку кода.

pd.options.plotting.backend = 'plotly'

В настоящее время доступны следующие серверные ВМ:

  • Сюжетно
  • Holoviews
  • Матплотлиб
  • Панды_боке
  • Hyplot

Сюжетно бэкэнд

Plotly - это библиотека Python, которая поддерживает широкий спектр интерактивных визуализаций. Одним из преимуществ пакета Plotly является то, что он построен поверх версии библиотеки Javascript, что означает, что диаграммы являются веб-ориентированными и могут отображаться в виде файлов HTML или встраиваться в веб-приложения на основе Python. Вы также можете загрузить визуализации в виде файлов изображений высокого качества, поэтому они идеально подходят для использования в документах или бумагах.

Давайте рассмотрим несколько быстрых примеров использования функций построения графиков Pandas в качестве серверной части.

Вам нужно будет установить Plotly, если у вас его еще нет pip intsall plotly. Если вы используете Plotly в Jupyterlab, вам нужно будет выполнить пару дополнительных шагов установки для отображения визуализаций. Сначала установите IPywidgets.

pip install jupyterlab "ipywidgets>=7.5"

Затем запустите это, чтобы установить расширение Plotly.

jupyter labextension install [email protected]

Чтобы проиллюстрировать использование бэкэндов для построения графиков, я буду использовать набор данных, взятый из openml.org, который называется набором данных вино. Его можно найти здесь, но также можно напрямую импортировать в записную книжку, используя следующий код (сначала вам потребуется установить Scikit-learn).

Набор данных о вине состоит из ряда характеристик типов вина и соответствующей этикетки. Первые несколько строк набора данных показаны ниже.

Давайте воспользуемся серверной частью Plotly, чтобы немного изучить набор данных.

Функциональность построения графиков работает почти так же, как стандартные функции построения графиков Pandas, только теперь визуализации отображаются с богатством возможностей Plotly. В приведенном ниже коде показана взаимосвязь между двумя функциями в наборе данных.

Если мы наведем курсор на диаграмму, мы увидим, что у нас есть возможность загрузить диаграмму в виде файла изображения высокого качества.

Мы можем объединить функцию Pandas groupby и создать гистограмму, чтобы суммировать разницу в среднем оттенке между классами.

Давайте добавим класс в точечную диаграмму, которую мы создали ранее. Plotly позволяет вам легко применять разные цвета к каждому классу, чтобы мы могли визуализировать разделение.

Серверная часть Bokeh

Bokeh - еще одна библиотека для построения графиков Python, которая обеспечивает богатую и интерактивную визуализацию. Визуализации можно просматривать в веб-браузере, встраивать в веб-приложения или использовать для создания интерактивных информационных панелей. У Bokeh даже есть потоковый API, поэтому можно создавать визуализации в реальном времени для потоковых данных, таких как финансовые рынки.

Полную документацию по pandas-bokeh можно найти здесь. Библиотека может быть установлена ​​pip install pandas-bokeh.

Чтобы отображать визуализацию Bokeh в Jupyterlab, нам нужно установить два новых расширения.

jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install @bokeh/jupyter_bokeh

Давайте воссоздадим диаграмму рассеяния, которую мы создали ранее с помощью бэкэнда.

Визуализация показана ниже. Диаграммы боке автоматически становятся интерактивными.

В Bokeh есть функция plot_grid, с помощью которой можно создавать макеты, похожие на информационную панель, для нескольких диаграмм. Приведенный ниже код создает четыре диаграммы в виде сетки, показанной под кодом.

Добавление нескольких сторонних серверов к встроенным функциям построения графиков Pandas существенно увеличило возможности этой библиотеки для визуализации данных. В этой статье дается только краткое описание функций, которые теперь доступны через бэкенды Plotly и Bokeh. Если вы внимательно изучите документацию, вы увидите, что существует гораздо больше возможностей для создания многофункциональных панелей мониторинга и веб-приложений с использованием этой новой функции.

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

Я отправляю ежемесячный информационный бюллетень, если вы хотите присоединиться, зарегистрируйтесь по этой ссылке. С нетерпением жду возможности принять участие в вашем образовательном путешествии!