Jak vykreslit data PySpark na histogramu

Jak Vykreslit Data Pyspark Na Histogramu



V PySpark se vizualizace dat provádí pomocí histogramu a dalších vykreslovacích technik. To pomáhá porozumět inženýrům Data Science s daty v grafické reprezentaci. Čas je pro ně důležitým omezením. Pomocí těchto vizualizací mohou analyzovat data rychleji ve srovnání s jinými datovými formáty, jako je text/csv a další.

V této příručce uvidíme, jak vykreslit data PySpark na histogramu. Můžeme zde vidět dva scénáře. Histogram je vytvořen na PySpark Pandas DataFrame a na datech RDD. Pro tyto dva scénáře poskytuje PySpark dvě funkce: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Téma obsahu:







Pyspark.pandas.DataFrame.plot.hist()

V tomto scénáři je histogram zobrazen jako grafová reprezentace dat, která seskupuje řadu tříd do sloupců (z PySpark Pandas DataFrame) spolu s horizontální osou x. Osa y představuje počet výskytů v datovém rámci PySpark Pandas pro každý sloupec.



Syntax:



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

Jako volitelný parametr bere celkový počet přihrádek, což je celé číslo a některé volitelné argumenty klíčových slov. Pokud nejsou přihrádky specifikovány pro každý sloupec, vytvoří se pruh.





Vyneste histogram na PySpark Pandas DataFrame

Vytvořte PySpark Pandas DataFrame se 2 sloupci se 4 záznamy. Vykreslete histogram bez předání jakéhokoli parametru funkci plot.hist().

z pyspark importovat 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ýstup:



Zde jsou názvy sloupců „Výška_budovy“ a „Oblast_budovy“.

Podívejme se na histogram:

Celkový počet řádků v předchozím DataFrame je 4. Jsou tedy vytvořeny 4 přihrádky.

Vyneste histogram do datového rámce PySpark Pandas s parametrem Bins

Vytvořte PySpark Pandas DataFrame se 2 sloupci se 4 záznamy. Vykreslete histogram bez předání jakéhokoli parametru funkci plot.hist().

z pyspark importovat 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 se 2 přihrádkami

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Výstup:

Zde jsou názvy sloupců „Výška_budovy“ a „Oblast_budovy“.

Podívejme se na histogram – červená odkazuje na „Oblast_budovy“ a modrá na sloupec „Výška_budovy“:

Jak jsme upřesnili, vznikly pouze 2 přihrádky a 2 tyče. Čtyři řady jsou zde sváženy do 2 kbelíků.

Vyneste histogram na PySpark RDD zadáním čísla bucketu

Když pracujete s RDD, histogram lze vrátit ve formě n-tice, která obsahuje segmenty a celkové hodnoty, které jsou přítomny v každém segmentu.

Syntax:

pyspark_RDD.histogram(buckets)

V tomto scénáři předáme počet segmentů (celé číslo), které jsou zahrnuty v histogramu. Vrátí n-tici seznamů, které obsahují rozsahy segmentů a odpovídající výskyty hodnot v následujícím formátu: ([rozsahy segmentů…], [výskyty hodnot…]).

Příklad 1:

Vytvořme RDD s názvem „Building_height“ s 10 hodnotami a vytvořte histogram se 3 segmenty.

importovat pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

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

# Vytvořte 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 ])

tisk( 'Skutečný:' ,Výška_budovy.collect())

# Určení 3 kbelíků

Building_height.histogram( 3 )

Výstup:

  1. Segment-1 se pohybuje od 12,0 do 86,223: V tomto rozsahu je celkový počet hodnot přítomných v segmentu 5.
  2. Segment-2 se pohybuje od 86,223 do 160,446: V tomto rozsahu je celkový počet hodnot přítomných v segmentu 3.
  3. Segment 3 se pohybuje od 160,446 do 234,67 : V tomto rozsahu je celkový počet hodnot přítomných v segmentu 2.

Příklad 2:

Vytvořte histogram se 2 kbelíky na dříve vytvořeném RDD.

importovat pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

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

# Vytvořte 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 ])

tisk( 'Skutečný:' ,Výška_budovy.collect())

# Určení 2 kbelíků

Building_height.histogram( 2 )

Výstup:

  1. Segment 1 se pohybuje od 12,0 do 123,335. V tomto rozsahu je celkový počet hodnot přítomných v segmentu 8.
  2. Segment 2 se pohybuje od 123,335 do 234,67: V tomto rozsahu je celkový počet hodnot přítomných v segmentu 2.

Vyneste histogram na PySpark RDD zadáním velikosti každého segmentu

V předchozím scénáři jsme předali kbelíky funkci RDD.histogram(). Nyní předáme velikosti segmentů jednu po druhé uvnitř seznamu a předáme tento seznam jako parametr této funkci. Ujistěte se, že musíme zadat alespoň dva segmenty ve vzestupném/vzestupném pořadí a nebude mít duplicitní hodnoty.

Syntax:

pyspark_RDD.histogram([rozsahy segmentů…])

V tomto scénáři předáme počet segmentů (celé číslo), které jsou zahrnuty v histogramu. Vrátí n-tici seznamů, které obsahují rozsahy segmentů a odpovídající výskyty hodnot v následujícím formátu: ([rozsahy segmentů…], [výskyty hodnot…]).

Příklad 1:

Vytvořme RDD s názvem „Building_height“ s 10 hodnotami a vytvořte histogram s rozsahem hodnot [0, 50, 100, 150, 200, 250].

importovat pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

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

# Vytvořte 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 ])

tisk( 'Skutečný:' ,Výška_budovy.collect())

# Určení kbelíku s velikostí - [0,50,100,150,200,250]

Building_height.histogram([ 0 , padesáti , 100 , 150 , 200 , 250 ])

Výstup:

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

Příklad 2:

Vytvořte histogram s rozsahem hodnot [0, 100, 200, 300].

importovat pyspark

z pyspark.sql importujte SparkSession

z pyspark.rdd importujte RDD

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

# Vytvořte 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 ])

tisk( 'Skutečný:' ,Výška_budovy.collect())

# Určení kbelíku s velikostí - [0,100,200,300]

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

Výstup:

  1. Kbelík 1: (0 až 100). Celková hodnota v tomto segmentu je 5.
  2. Kbelík 2: (100 až 200). Celková hodnota v tomto segmentu je 3.
  3. Kbelík 3: (200 až 300). Celková hodnota v tomto segmentu je 2.

Závěr

Viděli jsme, jak vytvářet histogramy v PySpark na PySpark Pandas DataFrame a RDD. histogram() je funkce, která se používá k získání histogramu na datech RDD. Plot.hist() se používá k zobrazení histogramu na PySpark Pandas DataFrame. Tyto funkce jsme probrali na příkladech a pokryli jsme všechny parametry.