Визуализация записной книжки в Microsoft Fabric
Microsoft Fabric — это интегрированная служба аналитики, которая ускоряет анализ данных в хранилищах данных и системах аналитики больших данных. Визуализация данных в записных книжках — это ключевой компонент, позволяющий получить представление о данных. Это помогает упростить понимание больших и небольших данных для людей. Кроме того, визуализация данных упрощает обнаружение шаблонов, тенденций и выбросов в группах данных.
При использовании Apache Spark в Fabric существуют различные встроенные варианты для визуализации данных, включая параметры диаграммы записной книжки Fabric и доступ к популярным библиотекам с открытым исходным кодом.
При использовании записной книжки Fabric можно превратить табличное представление результатов в настраиваемую диаграмму с помощью параметров диаграммы. Здесь данные можно визуализировать без написания кода.
Встроенная команда визуализации — функция display()
Встроенная функция визуализации Fabric позволяет преобразовать кадры данных Apache Spark, Pandas DataFrames и SQL-запросы в визуализации данных с расширенным форматом.
Вы можете использовать функцию отображения в кадрах данных, созданных в PySpark и Scala в Кадрах данных Spark или устойчивых распределенных наборах данных (RDD), для создания представления таблиц и представления диаграмм с расширенными кадрами данных.
Можно указать количество строк отрисовываемого кадра данных. Значение по умолчанию — 1000. Виджет вывода блокнота
Вы можете использовать функцию фильтрации на глобальной панели инструментов для фильтрации данных, эффективно согласующиеся с вашим настраиваемым правилом, условие применяется к указанному столбцу, а результат фильтра отражается как в табличном, так и в графическом представлении.
Выходные данные оператора SQL по умолчанию используют тот же выходной виджет с display().
Представление таблицы с форматированными кадрами данных
Поддержка свободного выбора в представлении таблицы
Представление таблицы отображается по умолчанию при использовании команды display(). Богатый предварительный просмотр кадра данных в записной книжке предлагает функцию свободного выбора, предназначенную для улучшения возможностей анализа данных с помощью гибких и интуитивно понятных возможностей выбора. Эта функция позволяет пользователям более эффективно взаимодействовать с кадрами данных и получать более глубокие аналитические сведения с легкостью.
Выбор столбцов
- Один столбец: щелкните заголовок столбца, чтобы выбрать весь столбец.
- несколько столбцов: после выбора одного столбца нажмите и удерживайте клавишу SHIFT, а затем щелкните другой заголовок столбца, чтобы выбрать несколько столбцов.
выбор строк
- одна строка: Щелкните по заголовку строки, чтобы выбрать всю строку.
- несколько строк: после выбора одной строки нажмите и удерживайте клавишу SHIFT, а затем щелкните другой заголовок строки, чтобы выбрать несколько строк.
предварительный просмотр содержимого ячейки: просмотрите содержимое отдельных ячеек, чтобы получить быстрый и подробный просмотр данных без необходимости писать дополнительный код.
сводка столбцов. Получайте сводку по каждому столбцу, включая распределение данных и ключевую статистику, чтобы быстро понять характеристики данных.
выбор свободных областей: выберите любой непрерывный сегмент таблицы, чтобы получить обзор общих выбранных ячеек и числовых значений в выбранной области.
копирование выбранного содержимого: во всех случаях выбора можно быстро скопировать выбранное содержимое с помощью сочетания клавиш CTRL+C. Выбранные данные копируются в формате CSV, что упрощает обработку в других приложениях.
Поддержка профилирования данных с помощью панели проверки
Чтобы профилировать кадр данных, нажмите кнопку "Проверить ". Он предоставляет сводное распределение данных и показывает статистику каждого столбца.
Каждая карточка на боковой панели "Проверка" сопоставляется с столбцом кадра данных, вы можете просмотреть дополнительные сведения, щелкнув карточку или выбрав столбец в таблице.
Вы можете просмотреть сведения о ячейке, щелкнув ячейку таблицы. Эта функция полезна, если кадр данных содержит длинный строковый тип содержимого.
Новое представление диаграммы с расширенными возможностями для кадра данных
Примечание.
В настоящее время эта функция доступна в предварительной версии.
Улучшенное представление диаграммы доступно в команде display(). Он обеспечивает более интуитивно понятный и мощный интерфейс визуализации данных с помощью команды display().
Теперь можно добавить до 5 диаграмм в одном мини-приложении вывода отображения, щелкнув "Создать диаграмму", чтобы создать несколько диаграмм на основе разных столбцов и легко сравнить диаграммы.
Список рекомендаций диаграмм можно получить на основе целевого кадра данных при создании новых диаграмм. Вы можете изменить рекомендуемую диаграмму или создать собственную диаграмму с нуля.
Теперь вы можете настроить визуализацию, указав следующие параметры. Настройки могут изменяться в зависимости от выбранного типа диаграммы.
Категория Основные параметры Description Тип диаграммы Функция отображения поддерживает широкий спектр типов диаграмм, включая линейчатые диаграммы, точечную диаграмму, графики, сводную таблицу и многое другое. Заголовок Заголовок Заголовок диаграммы. Заголовок Подзаголовок Подзаголовок диаграммы с дополнительными описаниями. Data Ось X Укажите ключ диаграммы. Data Ось Y Укажите значения диаграммы. Условные обозначения Показать условные обозначения Включение и отключение условных обозначений. Условные обозначения Position Настройте позицию условных обозначений. Другие Группа рядов Используйте эту конфигурацию для определения групп для агрегирования. Другие Агрегат Используйте этот метод для агрегирования данных в визуализации. Другие С накоплением Настройте стиль отображения результата. Примечание.
По умолчанию функция display(df) принимает только первые 1000 строк данных для отрисовки диаграмм. Выберите агрегирование во всех результатах и нажмите кнопку "Применить ", чтобы применить создание диаграммы из всего кадра данных. Задание Spark активируется при изменении параметра диаграммы. Для выполнения вычисления и отрисовки диаграммы может потребоваться несколько минут.
Категория Дополнительные настройки Description Color Тема Определите набор цветов темы диаграммы. Ось X Этикетка Укажите метку для оси X. Ось X Масштабировать Укажите функцию масштабирования оси X. Ось X Диапазон Укажите ось X диапазона значений. Ось Y Этикетка Укажите метку в оси Y. Ось Y Масштабировать Укажите функцию масштабирования оси Y. Ось Y Диапазон Укажите ось Y диапазона значений. Отображать Показывать метки Отображение и скрытие меток результатов на диаграмме. Изменения конфигураций вступили в силу немедленно, и все конфигурации автоматически сохраняются в содержимом записной книжки.
Вы можете легко переименовать, дублировать или удалить диаграммы в меню вкладок диаграммы.
Интерактивная панель инструментов доступна в новом интерфейсе диаграммы при наведении указателя мыши на диаграмму. Поддержка таких операций, как увеличение масштаба, масштабирование, выбор для масштабирования, сброса, сдвига и т. д.
Представление устаревшей диаграммы
Примечание.
Устаревшее представление диаграммы будет устарело после завершения предварительной версии нового представления диаграммы.
Вы можете вернуться к представлению устаревшей диаграммы, переключив "Новая визуализация". Новый интерфейс включен по умолчанию.
После отображения представления таблицы перейдите в представление диаграммы .
Записная книжка Fabric автоматически рекомендует диаграммы на основе целевой таблицы данных, чтобы сделать диаграмму информативной для получения аналитических данных.
Теперь вы можете настроить визуализацию, указав следующие значения:
Конфигурация Description Тип диаграммы Функция отображения поддерживает широкий спектр типов диаграмм, включая линейчатые диаграммы, точечную диаграмму, графики и многое другое. Ключ Укажите диапазон значений для оси x. Значение Укажите диапазон значений для значений оси Y. Группа рядов Используйте эту конфигурацию для определения групп для агрегирования. Агрегат Используйте этот метод для агрегирования данных в визуализации. Конфигурации автоматически сохраняются в выходном содержимом записной книжки.
Примечание.
По умолчанию функция
display(df) принимает только первые 1000 строк данных для отрисовки диаграмм. Выберите агрегирование во всех результатах и нажмите кнопку "Применить ", чтобы применить создание диаграммы из всего кадра данных. Задание Spark активируется при изменении параметра диаграммы. Для выполнения вычисления и отрисовки диаграммы может потребоваться несколько минут. По завершении задания можно просматривать и взаимодействовать с окончательной визуализацией.
представление сводки display()
Используйте display(df, summary = true) для проверки сводки статистики заданного кадра данных Apache Spark. Сводка содержит имя столбца, тип столбца, уникальные значения и отсутствующие значения для каждого столбца. Можно также выбрать конкретный столбец, чтобы увидеть минимальное значение, максимальное значение, среднее значение и стандартное отклонение.
Параметр displayHTML()
Записные книжки Fabric поддерживают HTML-графику с помощью функции displayHTML .
На следующем рисунке показан пример создания визуализаций с помощью 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.
Выполните следующий код, чтобы отобразить существующий отчет 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.
Выполните следующий код, чтобы отобразить отчет из кадра данных 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.
Выполните следующий код, чтобы отобразить отчет из кадра данных 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.
Выполните следующий пример кода, чтобы нарисовать эту линейчатую диаграмму.
# 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-содержимое.
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