Поделиться через


Визуализация записной книжки в Microsoft Fabric

Microsoft Fabric — это интегрированная служба аналитики, которая ускоряет анализ данных в хранилищах данных и системах аналитики больших данных. Визуализация данных в записных книжках — это ключевой компонент, позволяющий получить представление о данных. Это помогает упростить понимание больших и небольших данных для людей. Кроме того, визуализация данных упрощает обнаружение шаблонов, тенденций и выбросов в группах данных.

При использовании Apache Spark в Fabric существуют различные встроенные варианты для визуализации данных, включая параметры диаграммы записной книжки Fabric и доступ к популярным библиотекам с открытым исходным кодом.

При использовании записной книжки Fabric можно превратить табличное представление результатов в настраиваемую диаграмму с помощью параметров диаграммы. Здесь данные можно визуализировать без написания кода.

Встроенная команда визуализации — функция display()

Встроенная функция визуализации Fabric позволяет преобразовать кадры данных Apache Spark, Pandas DataFrames и SQL-запросы в визуализации данных с расширенным форматом.

Вы можете использовать функцию отображения в кадрах данных, созданных в PySpark и Scala в Кадрах данных Spark или устойчивых распределенных наборах данных (RDD), для создания представления таблиц и представления диаграмм с расширенными кадрами данных.

Можно указать количество строк отрисовываемого кадра данных. Значение по умолчанию — 1000. Виджет вывода блокнота поддерживает просмотр и профилирование до 10000 строк data frame.

Снимок экрана: пример указания диапазона.

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

Снимок экрана: пример настройки столбцов.

Выходные данные оператора SQL по умолчанию используют тот же выходной виджет с display().

Представление таблицы с форматированными кадрами данных

Поддержка свободного выбора в представлении таблицы

Представление таблицы отображается по умолчанию при использовании команды display(). Богатый предварительный просмотр кадра данных в записной книжке предлагает функцию свободного выбора, предназначенную для улучшения возможностей анализа данных с помощью гибких и интуитивно понятных возможностей выбора. Эта функция позволяет пользователям более эффективно взаимодействовать с кадрами данных и получать более глубокие аналитические сведения с легкостью.

  • Выбор столбцов

    • Один столбец: щелкните заголовок столбца, чтобы выбрать весь столбец.
    • несколько столбцов: после выбора одного столбца нажмите и удерживайте клавишу SHIFT, а затем щелкните другой заголовок столбца, чтобы выбрать несколько столбцов.
  • выбор строк

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

  • сводка столбцов. Получайте сводку по каждому столбцу, включая распределение данных и ключевую статистику, чтобы быстро понять характеристики данных.

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

  • копирование выбранного содержимого: во всех случаях выбора можно быстро скопировать выбранное содержимое с помощью сочетания клавиш CTRL+C. Выбранные данные копируются в формате CSV, что упрощает обработку в других приложениях.

    анимированный GIF с поддержкой для свободного выбора.

Поддержка профилирования данных с помощью панели проверки

Анимированный GIF-файл для предварительной версии полнофункционированного кадра данных.

  1. Чтобы профилировать кадр данных, нажмите кнопку "Проверить ". Он предоставляет сводное распределение данных и показывает статистику каждого столбца.

  2. Каждая карточка на боковой панели "Проверка" сопоставляется с столбцом кадра данных, вы можете просмотреть дополнительные сведения, щелкнув карточку или выбрав столбец в таблице.

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

Новое представление диаграммы с расширенными возможностями для кадра данных

Примечание.

В настоящее время эта функция доступна в предварительной версии.

Улучшенное представление диаграммы доступно в команде display(). Он обеспечивает более интуитивно понятный и мощный интерфейс визуализации данных с помощью команды display().

  1. Теперь можно добавить до 5 диаграмм в одном мини-приложении вывода отображения, щелкнув "Создать диаграмму", чтобы создать несколько диаграмм на основе разных столбцов и легко сравнить диаграммы.

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

    Анимация GIF предлагаемых диаграмм.

  3. Теперь вы можете настроить визуализацию, указав следующие параметры. Настройки могут изменяться в зависимости от выбранного типа диаграммы.

    Категория Основные параметры Description
    Тип диаграммы Функция отображения поддерживает широкий спектр типов диаграмм, включая линейчатые диаграммы, точечную диаграмму, графики, сводную таблицу и многое другое.
    Заголовок Заголовок Заголовок диаграммы.
    Заголовок Подзаголовок Подзаголовок диаграммы с дополнительными описаниями.
    Data Ось X Укажите ключ диаграммы.
    Data Ось Y Укажите значения диаграммы.
    Условные обозначения Показать условные обозначения Включение и отключение условных обозначений.
    Условные обозначения Position Настройте позицию условных обозначений.
    Другие Группа рядов Используйте эту конфигурацию для определения групп для агрегирования.
    Другие Агрегат Используйте этот метод для агрегирования данных в визуализации.
    Другие С накоплением Настройте стиль отображения результата.

    Примечание.

    По умолчанию функция display(df) принимает только первые 1000 строк данных для отрисовки диаграмм. Выберите агрегирование во всех результатах и нажмите кнопку "Применить ", чтобы применить создание диаграммы из всего кадра данных. Задание Spark активируется при изменении параметра диаграммы. Для выполнения вычисления и отрисовки диаграммы может потребоваться несколько минут.

    Категория Дополнительные настройки Description
    Color Тема Определите набор цветов темы диаграммы.
    Ось X Этикетка Укажите метку для оси X.
    Ось X Масштабировать Укажите функцию масштабирования оси X.
    Ось X Диапазон Укажите ось X диапазона значений.
    Ось Y Этикетка Укажите метку в оси Y.
    Ось Y Масштабировать Укажите функцию масштабирования оси Y.
    Ось Y Диапазон Укажите ось Y диапазона значений.
    Отображать Показывать метки Отображение и скрытие меток результатов на диаграмме.

    Изменения конфигураций вступили в силу немедленно, и все конфигурации автоматически сохраняются в содержимом записной книжки.

    Снимок экрана: пример настройки диаграмм.

  4. Вы можете легко переименовать, дублировать или удалить диаграммы в меню вкладок диаграммы.

    Снимок экрана: пример операционных диаграмм.

  5. Интерактивная панель инструментов доступна в новом интерфейсе диаграммы при наведении указателя мыши на диаграмму. Поддержка таких операций, как увеличение масштаба, масштабирование, выбор для масштабирования, сброса, сдвига и т. д.

    Снимок экрана: пример панели инструментов диаграммы.

Представление устаревшей диаграммы

Примечание.

Устаревшее представление диаграммы будет устарело после завершения предварительной версии нового представления диаграммы.

Анимированный GIF-файл представления диаграммы.

  1. Вы можете вернуться к представлению устаревшей диаграммы, переключив "Новая визуализация". Новый интерфейс включен по умолчанию.

    Снимок экрана: пример переключения новой визуализации.

  2. После отображения представления таблицы перейдите в представление диаграммы .

  3. Записная книжка Fabric автоматически рекомендует диаграммы на основе целевой таблицы данных, чтобы сделать диаграмму информативной для получения аналитических данных.

  4. Теперь вы можете настроить визуализацию, указав следующие значения:

    Конфигурация Description
    Тип диаграммы Функция отображения поддерживает широкий спектр типов диаграмм, включая линейчатые диаграммы, точечную диаграмму, графики и многое другое.
    Ключ Укажите диапазон значений для оси x.
    Значение Укажите диапазон значений для значений оси Y.
    Группа рядов Используйте эту конфигурацию для определения групп для агрегирования.
    Агрегат Используйте этот метод для агрегирования данных в визуализации.

    Конфигурации автоматически сохраняются в выходном содержимом записной книжки.

    Примечание.

    По умолчанию функция display(df) принимает только первые 1000 строк данных для отрисовки диаграмм. Выберите агрегирование во всех результатах и нажмите кнопку "Применить ", чтобы применить создание диаграммы из всего кадра данных. Задание Spark активируется при изменении параметра диаграммы. Для выполнения вычисления и отрисовки диаграммы может потребоваться несколько минут.

  5. По завершении задания можно просматривать и взаимодействовать с окончательной визуализацией.

представление сводки display()

Используйте display(df, summary = true) для проверки сводки статистики заданного кадра данных Apache Spark. Сводка содержит имя столбца, тип столбца, уникальные значения и отсутствующие значения для каждого столбца. Можно также выбрать конкретный столбец, чтобы увидеть минимальное значение, максимальное значение, среднее значение и стандартное отклонение.

Анимированный GIF-файл представления сводки.

Параметр displayHTML()

Записные книжки Fabric поддерживают HTML-графику с помощью функции displayHTML .

На следующем рисунке показан пример создания визуализаций с помощью D3.js.

Снимок экрана: пример диаграммы, созданной с помощью D3.js.

Чтобы создать эту визуализацию, выполните следующий код.

displayHTML("""<!DOCTYPE html>
<meta charset="utf-8">

<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>

<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<script>

// set the dimensions and margins of the graph
var margin = {top: 10, right: 30, bottom: 30, left: 40},
  width = 400 - margin.left - margin.right,
  height = 400 - margin.top - margin.bottom;

// append the svg object to the body of the page
var svg = d3.select("#my_dataviz")
.append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
.append("g")
  .attr("transform",
        "translate(" + margin.left + "," + margin.top + ")");

// Create Data
var data = [12,19,11,13,12,22,13,4,15,16,18,19,20,12,11,9]

// Compute summary statistics used for the box:
var data_sorted = data.sort(d3.ascending)
var q1 = d3.quantile(data_sorted, .25)
var median = d3.quantile(data_sorted, .5)
var q3 = d3.quantile(data_sorted, .75)
var interQuantileRange = q3 - q1
var min = q1 - 1.5 * interQuantileRange
var max = q1 + 1.5 * interQuantileRange

// Show the Y scale
var y = d3.scaleLinear()
  .domain([0,24])
  .range([height, 0]);
svg.call(d3.axisLeft(y))

// a few features for the box
var center = 200
var width = 100

// Show the main vertical line
svg
.append("line")
  .attr("x1", center)
  .attr("x2", center)
  .attr("y1", y(min) )
  .attr("y2", y(max) )
  .attr("stroke", "black")

// Show the box
svg
.append("rect")
  .attr("x", center - width/2)
  .attr("y", y(q3) )
  .attr("height", (y(q1)-y(q3)) )
  .attr("width", width )
  .attr("stroke", "black")
  .style("fill", "#69b3a2")

// show median, min and max horizontal lines
svg
.selectAll("toto")
.data([min, median, max])
.enter()
.append("line")
  .attr("x1", center-width/2)
  .attr("x2", center+width/2)
  .attr("y1", function(d){ return(y(d))} )
  .attr("y2", function(d){ return(y(d))} )
  .attr("stroke", "black")
</script>

"""
)

Внедрение отчета Power BI в записную книжку

Внимание

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

Пакет Python Powerbiclient теперь изначально поддерживается в записных книжках Fabric. Вам не нужно выполнять дополнительную настройку (например, процесс проверки подлинности) в записной книжке Fabric Spark runtime 3.4. Просто импортируйте powerbiclient и продолжайте изучение. Дополнительные сведения об использовании пакета powerbiclient см. в документации по powerbiclient.

Powerbiclient поддерживает следующие ключевые функции.

Отрисовка существующего отчета Power BI

Вы можете легко внедрять и взаимодействовать с отчетами Power BI в записных книжках с несколькими строками кода.

На следующем рисунке показан пример отрисовки существующего отчета Power BI.

Снимок экрана: визуальный элемент Spark для отрисовки отчета Power BI.

Выполните следующий код, чтобы отобразить существующий отчет Power BI.

from powerbiclient import Report

report_id="Your report id"
report = Report(group_id=None, report_id=report_id)

report

Создание визуальных элементов отчета из кадра данных Spark

С помощью кадра данных Spark в записной книжке можно быстро создавать аналитические визуализации. Вы также можете выбрать "Сохранить в внедренном отчете", чтобы создать элемент отчета в целевой рабочей области.

На следующем рисунке показан пример QuickVisualize() кадра данных Spark.

Снимок экрана: отчет Power BI из кадра данных.

Выполните следующий код, чтобы отобразить отчет из кадра данных Spark.

# Create a spark dataframe from a Lakehouse parquet table
sdf = spark.sql("SELECT * FROM testlakehouse.table LIMIT 1000")

# Create a Power BI report object from spark data frame
from powerbiclient import QuickVisualize, get_dataset_config
PBI_visualize = QuickVisualize(get_dataset_config(sdf))

# Render new report
PBI_visualize

Создание визуальных элементов отчета из кадра данных Pandas

Вы также можете создавать отчеты на основе кадра данных pandas в записной книжке.

На следующем рисунке показан пример QuickVisualize() кадра данных pandas.

Снимок экрана: отчет из кадра данных Pandas.

Выполните следующий код, чтобы отобразить отчет из кадра данных Spark.

import pandas as pd

# Create a pandas dataframe from a URL
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv")

# Create a pandas dataframe from a Lakehouse csv file
from powerbiclient import QuickVisualize, get_dataset_config

# Create a Power BI report object from your data
PBI_visualize = QuickVisualize(get_dataset_config(df))

# Render new report
PBI_visualize

Что касается визуализации данных, Python предлагает несколько библиотек для построения диаграмм, которые оснащены множеством различных возможностей. По умолчанию каждый пул Apache Spark в Fabric содержит набор курируемых и популярных библиотек с открытым кодом.

Matplotlib

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

На следующем рисунке показан пример создания линейчатой диаграммы с помощью Matplotlib.

Снимок экрана: график линии, созданный с помощью Matplotlib.

Снимок экрана: линейчатая диаграмма, созданная с помощью Matplotlib.

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

# Bar chart

import matplotlib.pyplot as plt

x1 = [1, 3, 4, 5, 6, 7, 9]
y1 = [4, 7, 2, 4, 7, 8, 3]

x2 = [2, 4, 6, 8, 10]
y2 = [5, 6, 2, 6, 2]

plt.bar(x1, y1, label="Blue Bar", color='b')
plt.bar(x2, y2, label="Green Bar", color='g')
plt.plot()

plt.xlabel("bar number")
plt.ylabel("bar height")
plt.title("Bar Chart Example")
plt.legend()
plt.show()

Bokeh

Вы можете отобразить HTML или интерактивные библиотеки, такие как bokeh, с помощью displayHTML(df).

Ниже приведен пример построения глифов на карте с использованием bokeh.

Снимок экрана: пример построения глифов по карте.

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

from bokeh.plotting import figure, output_file
from bokeh.tile_providers import get_provider, Vendors
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.models import ColumnDataSource

tile_provider = get_provider(Vendors.CARTODBPOSITRON)

# range bounds supplied in web mercator coordinates
p = figure(x_range=(-9000000,-8000000), y_range=(4000000,5000000),
           x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)

# plot datapoints on the map
source = ColumnDataSource(
    data=dict(x=[ -8800000, -8500000 , -8800000],
              y=[4200000, 4500000, 4900000])
)

p.circle(x="x", y="y", size=15, fill_color="blue", fill_alpha=0.8, source=source)

# create an html document that embeds the Bokeh plot
html = file_html(p, CDN, "my plot1")

# display this html
displayHTML(html)

Plotly

Вы можете отображать HTML или интерактивные библиотеки, такие как Plotly, используя displayHTML().

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

Снимок экрана: карта США, созданной с помощью графики.

from urllib.request import urlopen
import json
with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response:
    counties = json.load(response)

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv",
                   dtype={"fips": str})

import plotly
import plotly.express as px

fig = px.choropleth(df, geojson=counties, locations='fips', color='unemp',
                           color_continuous_scale="Viridis",
                           range_color=(0, 12),
                           scope="usa",
                           labels={'unemp':'unemployment rate'}
                          )
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

# create an html document that embeds the Plotly plot
h = plotly.offline.plot(fig, output_type='div')

# display this html
displayHTML(h)

Pandas.

Выходные данные HTML pandas DataFrames можно просмотреть как выходные данные по умолчанию. Записные книжки Fabric автоматически отображают стильное HTML-содержимое.

Снимок экрана: таблица, созданная с помощью pandas.

import pandas as pd 
import numpy as np 

df = pd.DataFrame([[38.0, 2.0, 18.0, 22.0, 21, np.nan],[19, 439, 6, 452, 226,232]], 

                  index=pd.Index(['Tumour (Positive)', 'Non-Tumour (Negative)'], name='Actual Label:'), 

                  columns=pd.MultiIndex.from_product([['Decision Tree', 'Regression', 'Random'],['Tumour', 'Non-Tumour']], names=['Model:', 'Predicted:'])) 

df