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.
Megadhatja a renderelt adatkeret sorszámát. Az alapértelmezett érték 1000. A jegyzetfüzet
A globális eszköztár szűrőfüggvényével hatékonyan szűrheti a testre szabott szabvánnyal megfeleltetett adatokat, a feltétel a megadott oszlopra lesz alkalmazva, a szűrő eredménye pedig táblanézeten és diagramnézetben is tükröződik.
Az SQL utasítás kimenete alapértelmezés szerint ugyanazt a kimeneti widgetet használja a display() funkcióval.
Rich dataframe table view
Ingyenes kijelölés támogatása táblázat nézetben
A táblanézet alapértelmezés szerint a display() parancs használatakor jelenik meg. A jegyzetfüzet gazdag adatkeret-előnézete egy ingyenes kiválasztási funkciót kínál, amely rugalmas és intuitív kiválasztási funkciókkal javítja az adatelemzési élményt. Ez a funkció lehetővé teszi a felhasználók számára, hogy hatékonyabban használják az adatkereteket, és könnyedén mélyebb elemzéseket szerezzenek.
oszlop kijelölése
- egyoszlopos: Az oszlopfejlécre kattintva jelölje ki a teljes oszlopot.
- Több oszlop: Egyetlen oszlop kijelölése után nyomja le és tartsa lenyomva a Shift billentyűt, majd kattintson egy másik oszlopfejlécre több oszlop kijelöléséhez.
sorkijelölés
- egysoros: A teljes sor kijelöléséhez kattintson egy sorfejlécre.
- Több sor: Egyetlen sor kijelölése után nyomja le és tartsa lenyomva a Shift billentyűt, majd kattintson egy másik sorfejlécre több sor kijelöléséhez.
Cellatartalom előnézete: Az egyes cellák tartalmának előnézetével gyorsan és részletesen áttekintheti az adatokat anélkül, hogy további kódot kellene írnia.
oszlopösszegző: Az adatok jellemzőinek gyors megértéséhez kérje le az egyes oszlopok összegzését, beleértve az adateloszlást és a fő statisztikákat.
Szabad terület kijelölése: A táblázat bármely folytonos szegmensének kiválasztásával áttekintheti a kijelölt cellák teljes számát és a kijelölt terület numerikus értékeit.
Kijelölt tartalom másolása: Minden kijelölési esetben gyorsan átmásolhatja a kijelölt tartalmat a Ctrl + C billentyűparanccsal. A kijelölt adatok CSV formátumban vannak másolva, így más alkalmazásokban is könnyen feldolgozhatók.
Adatprofilozás támogatása a Vizsgálat panelen keresztül
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 adatkeret 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 a funkció akkor hasznos, ha az adatkeret hosszú sztring típusú tartalmat tartalmaz.
Új rich dataframe diagram nézet
Feljegyzés
A funkció jelenleg előzetes verzióban érhető el.
A továbbfejlesztett diagramnézet a display() parancson érhető el. Intuitívabb és hatékonyabb felületet biztosít az adatok vizualizációjához a display() paranccsal.
Mostantól legfeljebb 5 diagramot adhat hozzá egy megjelenítési() kimeneti vezérlőben az Új diagram elemre kattintva, így több diagramot hozhat létre különböző oszlopok alapján, és egyszerűen összehasonlíthatja a diagramokat.
Új diagramok létrehozásakor a céladatkeret alapján lekérheti a diagramjavaslatok listáját. Módosíthatja az ajánlott diagramokat, vagy létrehozhatja saját diagramját az alapoktól.
Mostantól testre szabhatja a vizualizációt az alábbi beállítások megadásával. A beállítási beállítások a kiválasztott diagramtípusnak megfelelően változhatnak:
Kategória Alapszintű beállítások 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, a kimutatástáblákat stb. Cím Cím A diagram címe. Cím Alcím A diagram alcíme további leírásokkal. Adatok Tengely Adja meg a diagram kulcsát. Adatok Y tengely Adja meg a diagram értékeit. Jelmagyarázat Jelmagyarázat megjelenítése A jelmagyarázat engedélyezése/letiltása. Jelmagyarázat Position A jelmagyarázat pozíciójának testreszabása. Egyéb Sorozatcsoport Ezzel a konfigurációval határozhatja meg az összesítés csoportjait. Egyéb Összesítés Ezzel a módszerrel összesítheti az adatokat a vizualizációban. Egyéb Halmozott Konfigurálja az eredmény megjelenítési stílusát. Feljegyzés
Alapértelmezés szerint a display(df) függvény csak az adatok első 1000 sorát veszi igénybe a diagramok megjelenítéséhez. Válassza az Összesítés lehetőséget az összes eredményhez, majd válassza az Alkalmaz lehetőséget a diagramgenerálás alkalmazásához a teljes adatkeretből. A Spark-feladat akkor aktiválódik, amikor a diagrambeállítás megváltozik. A számítás elvégzése és a diagram megjelenítése több percet is igénybe vehet.
Kategória Speciális beállítások Leírás Color Téma Határozza meg a diagram színkészletét. Tengely Címke Adjon meg egy címkét az X tengelyhez. Tengely Hangsor Adja meg az X tengely méretezési függvényét. Tengely Tartomány Adja meg az X tengely értéktartományát. Y tengely Címke Adjon meg egy címkét az Y tengelyhez. Y tengely Hangsor Adja meg az Y tengely méretezési függvényét. Y tengely Tartomány Adja meg az Y tengely értéktartományát. Kijelző Címkék megjelenítése Az eredményfeliratok megjelenítése/elrejtése a diagramon. A konfigurációk módosításai azonnal érvénybe lépnek, és az összes konfiguráció automatikusan mentésre kerül a jegyzetfüzet tartalmában.
A diagramok egyszerűen átnevezhetők, duplikálhatók vagy törölhetők a diagramok lap menüjében.
Az új diagram felületén interaktív eszköztár érhető el, amikor a felhasználó rámutat egy diagramra. Olyan műveletek támogatása, mint a nagyítás, a kicsinyítés, a nagyítás, az alaphelyzetbe állítás, a pásztázás stb.
Örökölt diagramnézet
Feljegyzés
Az örökölt diagramnézet az új diagramnézet előzetes verziójának befejezése után megszűnik.
Az "Új vizualizáció" funkció kikapcsolásával visszaválthat az örökölt diagramnézetre. Az új felület alapértelmezés szerint engedélyezve van.
Ha már rendelkezik renderelt táblázatnézetsel, váltson a Diagram nézetre.
A Fabric jegyzetfüzet automatikusan ajánlja a céladatkereten alapuló diagramokat, hogy a diagram értelmes legyen és adatelemzési betekintéseket nyújtson.
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ítés lehetőséget az összes eredményhez, majd válassza az Alkalmaz lehetőséget a diagramgenerálás alkalmazásához a teljes adatkeretből. A Spark-feladat akkor aktiválódik, amikor a diagrambeállítás megváltozik. 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() 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 olyan előzetes termékre vonatkoznak, amelyet lényegesen módosíthatnak, mielőtt elérnék a General Available-t. 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