Ako vykresliť údaje PySpark na histograme

Ako Vykreslit Udaje Pyspark Na Histograme



V PySpark sa vizualizácia údajov vykonáva pomocou histogramu a iných techník vykresľovania. To pomáha pochopiť inžinierov Data Science s údajmi v grafickom znázornení. Čas je pre nich dôležitým obmedzením. Pomocou týchto vizualizácií môžu analyzovať údaje rýchlejšie v porovnaní s inými formátmi údajov, ako je text/csv a iné.

V tejto príručke uvidíme, ako vykresliť údaje PySpark na histograme. Môžeme tu vidieť dva scenáre. Histogram sa vytvára na PySpark Pandas DataFrame a na dátach RDD. Pre tieto dva scenáre poskytuje PySpark dve funkcie: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Téma obsahu:







Pyspark.pandas.DataFrame.plot.hist()

V tomto scenári sa histogram zobrazuje ako grafová reprezentácia údajov, ktorá zoskupuje rozsah tried do stĺpcov (z dátového rámca PySpark Pandas) spolu s horizontálnou osou x. Os y predstavuje počet výskytov v dátovom rámci PySpark Pandas pre každý stĺpec.



Syntax:



pyspark_pandas_DataFrame.plot.hist(bins,...)

Berie celkový počet zásobníkov ako voliteľný parameter, ktorým je celé číslo a niektoré voliteľné argumenty kľúčových slov. Ak nie sú zásobníky špecifikované pre každý stĺpec, vytvorí sa pruh.





Nakreslite histogram na PySpark Pandas DataFrame

Vytvorte PySpark Pandas DataFrame s 2 stĺpcami so 4 záznamami. Nakreslite histogram bez odovzdania akéhokoľvek parametra funkcii plot.hist().

z pyspark import pandy

pyspark_pandas_dataframe=pandas.DataFrame({ 'výška_budovy' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# Histogram PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Výkon:



Tu sú názvy stĺpcov „Výška_budovy“ a „Oblasť_budovy“.

Pozrime sa na histogram:

Celkový počet riadkov v predchádzajúcom DataFrame je 4. Takže sa vytvoria 4 zásobníky.

Vyneste histogram do dátového rámca PySpark Pandas s parametrom Bins

Vytvorte PySpark Pandas DataFrame s 2 stĺpcami so 4 záznamami. Nakreslite histogram bez odovzdania akéhokoľvek parametra funkcii plot.hist().

z pyspark import pandy

pyspark_pandas_dataframe=pandas.DataFrame({ 'výška_budovy' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

# Histogram PySpark-Pandas s 2 priehradkami

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Výkon:

Tu sú názvy stĺpcov „Výška_budovy“ a „Oblasť_budovy“.

Pozrime sa na histogram – červená označuje „Oblasť budovy“ a modrá označuje stĺpec „Výška budovy“:

Ako sme upresnili, vznikli len 2 zásobníky a 2 tyče. Štyri riadky sú tu spojené do 2 vedier.

Nakreslite histogram na PySpark RDD zadaním čísla vedra

Keď pracujete s RDD, histogram sa môže vrátiť vo forme n-tice, ktorá obsahuje segmenty a celkové hodnoty, ktoré sú prítomné v každom segmente.

Syntax:

pyspark_RDD.histogram(buckets)

V tomto scenári odovzdáme počet segmentov (celé číslo), ktoré sú zahrnuté v histograme. Vráti n-ticu zoznamov, ktoré obsahujú rozsahy segmentov a zodpovedajúce výskyty hodnôt v nasledujúcom formáte: ([rozsahy segmentov…], [výskyty hodnôt…]).

Príklad 1:

Vytvorme RDD s názvom „Building_height“ s 10 hodnotami a vytvorte histogram s 3 vedrami.

importovať pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Vytvorte RDD s 10 hodnotami

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

vytlačiť ( 'Skutočné: ' ,Výška_budovy.collect())

# Určenie 3 vedier

Building_height.histogram( 3 )

Výkon:

  1. Segment 1 sa pohybuje od 12,0 do 86,223 : V tomto rozsahu je celkový počet hodnôt prítomných v segmente 5.
  2. Segment-2 sa pohybuje od 86,223 do 160,446 : V tomto rozsahu je celkový počet hodnôt prítomných v segmente 3.
  3. Segment 3 sa pohybuje od 160,446 do 234,67 : V tomto rozsahu je celkový počet hodnôt prítomných v segmente 2.

Príklad 2:

Vytvorte histogram s 2 vedrami na predtým vytvorenom RDD.

importovať pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Vytvorte RDD s 10 hodnotami

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

vytlačiť ( 'Skutočné: ' ,Výška_budovy.collect())

# Určenie 2 vedier

Building_height.histogram( 2 )

Výkon:

  1. Vedro 1 sa pohybuje od 12,0 do 123,335. V tomto rozsahu je celkový počet hodnôt prítomných v segmente 8.
  2. Segment 2 sa pohybuje od 123,335 do 234,67: V tomto rozsahu je celkový počet hodnôt prítomných v segmente 2.

Nakreslite histogram na PySpark RDD zadaním veľkosti každého vedra

V predchádzajúcom scenári sme vedrá odovzdali funkcii RDD.histogram(). Teraz odovzdávame veľkosti segmentov jednu po druhej v rámci zoznamu a odovzdávame tento zoznam ako parameter tejto funkcii. Uistite sa, že musíme zadať aspoň dva segmenty v rastúcom/vzostupnom poradí a že nebudú mať duplicitné hodnoty.

Syntax:

pyspark_RDD.histogram([rozsahy segmentov…])

V tomto scenári odovzdávame počet segmentov (celé číslo), ktoré sú zahrnuté v histograme. Vráti n-ticu zoznamov, ktoré obsahujú rozsahy segmentov a zodpovedajúce výskyty hodnôt v nasledujúcom formáte: ([rozsahy segmentov…], [výskyty hodnôt…]).

Príklad 1:

Vytvorme RDD s názvom „Building_height“ s 10 hodnotami a vytvorte histogram s rozsahom hodnôt [0, 50, 100, 150, 200, 250].

importovať pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Vytvorte RDD s 10 hodnotami

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

vytlačiť ( 'Skutočné: ' ,Výška_budovy.collect())

# Určenie vedra s veľkosťou - [0,50,100,150,200,250]

Building_height.histogram([ 0 , päťdesiat , 100 , 150 , 200 , 250 ])

Výkon:

  1. Segment 1: (0 až 50) : Celkové hodnoty v tomto segmente sú 3.
  2. Segment 1: (50 až 100) : Celkové hodnoty v tomto segmente sú 2.
  3. Segment 1: (100 až 150) : Celkové hodnoty v tomto segmente sú 2.
  4. Segment 1: (150 až 200) : Celkové hodnoty v tomto segmente sú 2.
  5. Segment 1: (200 až 250) : Celkové hodnoty v tomto segmente sú 2.

Príklad 2:

Vytvorte histogram s rozsahom hodnôt [0, 100, 200, 300].

importovať pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Vytvorte RDD s 10 hodnotami

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

vytlačiť ( 'Skutočné: ' ,Výška_budovy.collect())

# Určenie vedra s veľkosťou - [0,100,200,300]

Building_height.histogram([ 0 , 100 , 200 , 300 ])

Výkon:

  1. Vedro 1: (0 až 100). Celková hodnota v tomto segmente je 5.
  2. Vedro 2: (100 až 200). Celková hodnota v tomto segmente je 3.
  3. Vedro 3: (200 až 300). Celková hodnota v tomto segmente je 2.

Záver

Videli sme, ako vytvoriť histogramy v PySpark na PySpark Pandas DataFrame a RDD. histogram() je funkcia, ktorá sa používa na získanie histogramu údajov RDD. Plot.hist() sa používa na zobrazenie histogramu na PySpark Pandas DataFrame. Tieto funkcie sme prediskutovali na príkladoch, pričom sme pokryli všetky parametre.