Jegyzetfüzet-vizualizáció a Microsoft Fabricben
A Microsoft Fabric egy integrált elemzési szolgáltatás, amely felgyorsítja az adattárházak és a big data elemzési rendszerek áttekintésének idejét. A jegyzetfüzetek adatvizualizációja kulcsfontosságú összetevő, amely lehetővé teszi, hogy betekintést nyerjen az adataiba. Megkönnyíti a nagy és kis méretű adatok megértését az emberek számára. Emellett megkönnyíti a minták, trendek és kiugró értékek észlelését adatcsoportokban.
Az Apache Spark in Fabric használata esetén számos beépített lehetőség áll rendelkezésre az adatok vizualizációjához, beleértve a Fabric-jegyzetfüzet diagrambeállításait, valamint a népszerű nyílt forráskódú kódtárakhoz való hozzáférést.
Hálójegyzetfüzet használata esetén a táblázatos eredménynézetet testre szabott diagrammá alakíthatja a diagrambeállítások használatával. Itt anélkül jelenítheti meg az adatokat, hogy kódokat kellene írnia.
Beépített vizualizációs parancs – display() függvény
A Fabric beépített vizualizációs funkciója lehetővé teszi, hogy az Apache Spark DataFrames, a Pandas DataFrames és az SQL-lekérdezés eredményeit gazdag formátumú adatvizualizációkká alakítsa.
A PySparkban és a Scalában Spark DataFrames vagy Rugalmas elosztott adathalmazok (RDD) függvényeken létrehozott adatkereteken a megjelenítési függvényt használhatja a gazdag adatkeret-táblázatnézet és a diagramnézet létrehozásához.
Az SQL-utasítás kimenete alapértelmezés szerint megjelenik a renderelt táblázat nézetben.
Rich dataframe table view
- A táblanézet alapértelmezés szerint a display() parancs használatakor jelenik meg.
- Az adatkeret profilozásához kattintson a Vizsgálat gombra. Ez biztosítja az összesített adateloszlást, és megjeleníti az egyes oszlopok statisztikáit.
- A "Vizsgálat" oldalpanel minden kártyája az adatframke egy oszlopára van leképezve, további részleteket a kártyára kattintva vagy a táblázat egyik oszlopának kiválasztásával tekinthet meg.
- A cella részleteit a táblázat cellájára kattintva tekintheti meg. Ez akkor hasznos, ha az adatkeret hosszú sztring típusú tartalmat tartalmaz.
- Megadhatja a táblanézet sorszámát, az alapértelmezett érték 1000, a jegyzetfüzet támogatása legfeljebb 10000 sornyi adatkeret megtekintéséhez és profiljához.
Rich dataframe chart view
Ha már rendelkezik renderelt táblázatnézetsel, váltson a Diagram nézetre.
A hálójegyzetfüzet automatikusan javasol egy "Key" "Value" párot a cél adatkeret alapján, hogy az alapértelmezett diagram az adatelemzésekkel legyen jelezve.
Mostantól testre szabhatja a vizualizációt a következő értékek megadásával:
Konfiguráció Leírás Diagram típusa A megjelenítési függvény számos diagramtípust támogat, beleértve a sávdiagramokat, a pontdiagramokat, a vonaldiagramokat stb. Kulcs Adja meg az x tengely értékeinek tartományát. Érték Adja meg az y tengely értékeinek tartományát. Sorozatcsoport Ezzel a konfigurációval határozhatja meg az összesítés csoportjait. Összesítés Ezzel a módszerrel összesítheti az adatokat a vizualizációban. a konfigurációk automatikusan mentésre kerülnek a jegyzetfüzet kimeneti tartalmában.
Feljegyzés
Alapértelmezés szerint a display(df) függvény csak az adatok első 1000 sorát használja a diagramok megjelenítéséhez. Válassza az összes eredmény összesítését, majd az Alkalmaz elemet a diagramgenerálás alkalmazásához a teljes szemantikai modellből. A Spark-feladat akkor aktiválódik, amikor a diagrambeállítás megváltozik. Vegye figyelembe, hogy a számítás elvégzése és a diagram megjelenítése több percet is igénybe vehet.
Ha a feladat befejeződött, megtekintheti és használhatja a végleges vizualizációt.
display(df) summary view
A display(df, summary = true) használatával ellenőrizheti egy adott Apache Spark DataFrame statisztikai összegzését. Az összegzés tartalmazza az egyes oszlopok oszlopnevét, oszloptípusát, egyedi értékeit és hiányzó értékeit. Kiválaszthat egy adott oszlopot is a minimális érték, a maximális érték, a középérték és a szórás megjelenítéséhez.
displayHTML() beállítás
A hálójegyzetfüzetek a displayHTML függvény használatával támogatják a HTML-ábrákat.
Az alábbi kép egy példa a vizualizációk D3.js használatával történő létrehozására.
A vizualizáció létrehozásához futtassa a következő kódot.
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-jelentés beágyazása jegyzetfüzetbe
Fontos
Ez a funkció jelenleg előzetes verzióban érhető el. Ezek az információk egy előzetes termékre vonatkoznak, amely a kiadás előtt jelentősen módosítható. A Microsoft nem vállal kifejezett vagy hallgatólagos szavatosságot az itt megadott információkra vonatkozóan.
A Powerbiclient Python-csomag mostantól natív módon támogatott a Fabric-jegyzetfüzetekben. A Spark-futtatókörnyezet 3.4-ben nem kell további beállításokat (például hitelesítési folyamatot) végeznie. Csak importálja powerbiclient
, majd folytassa a feltárást. A powerbiclient-csomag használatáról további információt a powerbiclient dokumentációjában talál.
A Powerbiclient az alábbi főbb funkciókat támogatja.
Meglévő Power BI-jelentés renderelése
A Power BI-jelentések egyszerűen beágyazhatók és kezelhetők a jegyzetfüzetekben, mindössze néhány sornyi kóddal.
Az alábbi kép egy példa a meglévő Power BI-jelentés megjelenítésére.
Futtassa a következő kódot egy meglévő Power BI-jelentés megjelenítéséhez.
from powerbiclient import Report
report_id="Your report id"
report = Report(group_id=None, report_id=report_id)
report
Jelentésvizualizációk létrehozása Spark DataFrame-ből
A jegyzetfüzetben egy Spark DataFrame-et használva gyorsan hozhat létre megállapításalapú vizualizációkat. A beágyazott jelentésben a Mentés lehetőséget is kiválasztva létrehozhat egy jelentéselemet egy cél-munkaterületen.
Az alábbi képen egy Spark DataFrame-ből származó példa QuickVisualize()
látható.
Futtassa a következő kódot egy jelentés Spark DataFrame-ből való megjelenítéséhez.
# 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
Jelentésvizualizációk létrehozása pandas DataFrame-ből
A pandas DataFrame-en alapuló jelentéseket is létrehozhat a jegyzetfüzetben.
Az alábbi képen egy pandas DataFrame-ből származó példa QuickVisualize()
látható.
Futtassa a következő kódot egy jelentés Spark DataFrame-ből való megjelenítéséhez.
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
Népszerű kódtárak
Az adatvizualizációk terén a Python több gráftárat is kínál, amelyek számos különböző funkcióval rendelkeznek. Alapértelmezés szerint a Fabric összes Apache Spark-készlete válogatott és népszerű nyílt forráskódú kódtárakat tartalmaz.
Matplotlib
Az egyes kódtárak beépített renderelési függvényeivel renderelheti a szabványos ábrázolási kódtárakat, például a Matplotlib-t.
Az alábbi kép egy példa sávdiagram matplotlib használatával történő létrehozására.
A sávdiagram rajzolásához futtassa az alábbi mintakódot.
# 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
A displayHTML(df) használatával HTML- vagy interaktív kódtárakat (például bokeh) jeleníthet meg.
Az alábbi kép egy példa arra, hogy glyphs-eket ábrázol egy térképen bokeh használatával.
A kép rajzolásához futtassa az alábbi mintakódot.
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
A displayHTML() használatával HTML- vagy interaktív kódtárakat (például Plotly) jeleníthet meg.
A kép rajzolásához futtassa az alábbi mintakódot.
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)
Pandák
A pandas DataFrames HTML-kimenetét alapértelmezett kimenetként tekintheti meg. A hálójegyzetfüzetek automatikusan megjelenítik a stílusalapú HTML-tartalmat.
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
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: