Время прочтения: 4 мин.

Для использования Python в элементах визуализации потребуется последняя версия Power BI, в которой в функции предварительного просмотра реализована интеграция с Python.

Редактор скриптов Python и визуальный тайл

По клику на визуальном элементе Python панели «Визуализация» откроется окно «Включить визуальные элементы сценария», с помощью которого можно включить возможность добавления визуальных элементов на основе скриптов Python.

Рис.1 — Включение визуальных элементов на Python

После включения в Power BI откроется возможность предпросмотра создаваемого визуального элемента.

Рис. 2 — Предпросмотр визуальных элементов на Python

В приведенных далее примерах будет использоваться набор показателей 15 тысяч сотрудников некой западной компании, получены из открытых источников в Интернет. Среди параметров имеются, например, уровень удовлетворенности, оценка деятельности сотрудника, количество реализованных сотрудником проектов, срок его работы в компании, отдел, в котором он работал.

Теперь необходимо загрузить данные в PowerBI и выбрать поля, которыми заполнятся разделы значений, используемые для визуализации, и приступать к применению сценариев на Python.

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

import matplotlib.pyplot as plt
import seaborn as sns

Графики на Seaborn Libary

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

import matplotlib.pyplot as plt
import seaborn as sns
sns.violinplot(x=’number_project’,y=’time_spend_company’,data=dataset)
plt.show()

Выполнение данного кода приведет к построению графика, демонстрирующего распределение концентраций количества проектов в зависимости от срока работы сотрудников в компании.

Рис.3 — Распределение количества проектов

Построение Joint Plot-графика

Для этого используется та же основа кода, необходимо только заменить sns.violinplot на sns.jointplot. В результате будет построена диаграмма рассеяния, поэтому используемые переменные X и Y должны быть числовыми. В приведённом ниже примере проверяется наличие корреляция между уровнем удовлетворенности сотрудников и временем их работы в компании.

import matplotlib.pyplot as plt
import seaborn as sns
sns.joinplot(x=’satisfaction_level’,y=’time_spend_company’,data=dataset)
plt.show()
Рис. 4 График корреляция между уровнем удовлетворенности сотрудников и временем их работы в компании

Построение графика корреляции на основе тепловой карты

Можно построить корреляционную зависимость на основе всего набора данных. Этот способ интересен возможность провести некоторый исследовательский анализ данных. Это можно осуществить с использованием тепловой карты. Поскольку в данном случае производится оценка всего набора данных, определять оси X и Y необходимости нет. Таким образом можно получить оценку корреляции для каждой переменной.

import matplotlib.pyplot as plt
import seaborn as sns
sns.heatmap(dataset.corr(),cmap=’coolwarm’)
plt.show()

Данный код может использовать весь набор данных. В примере используется градиент цвета «coolwarm», указанный для параметра cmap, однако можно воспользоваться множеством других градиентов. На сайте Seaborn можно найти другие цветовые шкалы, которые можно использовать.

Рис. 5 — Тепловая карта, построенная на всем наборе данных

Также можно добавить различные параметры, например, метки и ширину линии. Это сделает тепловую карту более информативной.

import matplotlib.pyplot as plt
import seaborn as sns
sns.heatmap(dataset.corr(),cmap=’coolwarm’,annot=True,linewidth=0.7)
plt.show()
Рис. 6 Тепловая карта, построенная на всем наборе данных с дополнительными параметрами

Визуализации с помощью Seaborn Pair Plot

Последний пример самый простой. Он, по-сути, представляет собой совокупность всех исходных корреляций базового набора данных, построенных в виде отдельных графиков. Это дает возможность быстро взглянуть на все имеющиеся корреляции и провести более глубокий анализ.

import matplotlib.pyplot as plt
import seaborn as sns
sns.pairplot(dataset)
plt.show()
Рис. 7 Графики в визуальном элементе Seaborn Pair Plot

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