Kako narisati podatke PySpark na histogram

Kako Narisati Podatke Pyspark Na Histogram



V PySparku se vizualizacija podatkov izvede z uporabo histograma in drugih tehnik risanja. To pomaga razumeti inženirje Data Science s podatki v grafični predstavitvi. Čas je za njih pomembna omejitev. S temi vizualizacijami lahko hitreje analizirajo podatke v primerjavi z drugimi formati podatkov, kot so text/csv in drugi.

V tem priročniku bomo videli, kako narisati podatke PySpark na histogram. Tukaj lahko vidimo dva scenarija. Histogram je ustvarjen na PySpark Pandas DataFrame in na podatkih RDD. Za ta dva scenarija PySpark ponuja dve funkciji: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Tema vsebine:







Pyspark.pandas.DataFrame.plot.hist()

V tem scenariju je histogram prikazan kot grafu podobna predstavitev podatkov, ki razdeli vrsto razredov v stolpce (iz PySpark Pandas DataFrame) skupaj z vodoravno osjo x. Os y predstavlja število pojavitev v PySpark Pandas DataFrame za vsak stolpec.



Sintaksa:



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

Kot izbirni parameter vzame skupno število binov, ki je celo število, in nekaj neobveznih argumentov ključne besede. Če koši niso podani za vsak stolpec, se ustvari vrstica.





Narišite histogram na PySpark Pandas DataFrame

Ustvarite PySpark Pandas DataFrame z 2 stolpcema s 4 zapisi. Narišite histogram brez posredovanja parametrov funkciji plot.hist().

iz pyspark uvoz pand

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

natisni (pyspark_pandas_dataframe)

# Histogram PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Izhod:



Tu sta imena stolpcev »Višina_stavbe« in »Območje_gradnje«.

Poglejmo histogram:

Skupno število vrstic v prejšnjem DataFrame je 4. Torej so ustvarjeni 4 zabojniki.

Narišite histogram na PySpark Pandas DataFrame s parametrom Bins

Ustvarite PySpark Pandas DataFrame z 2 stolpcema s 4 zapisi. Narišite histogram brez posredovanja parametrov funkciji plot.hist().

iz pyspark uvoz pand

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

# Histogram PySpark-Pandas z 2 posodama

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Izhod:

Tu sta imena stolpcev »Višina_stavbe« in »Območje_gradnje«.

Poglejmo histogram – rdeča se nanaša na »Building_Area«, modra pa na stolpec »Building_height«:

Kot smo navedli, sta bila ustvarjena samo 2 posodi in 2 vrstici. Štiri vrstice so tukaj združene v 2 vedri.

Narišite histogram na PySpark RDD tako, da navedete številko vedra

Ko delate z RDD, lahko histogram vrnete v obliki tuple, ki vključuje vedra in skupne vrednosti, ki so prisotne v vsakem vedru.

Sintaksa:

pyspark_RDD.histogram(vedra)

V tem scenariju posredujemo število veder (celo število), ki so vključena v histogram. Vrne nabor seznamov, ki vključujejo obsege veder in ustrezne pojavitve vrednosti v naslednji obliki: ([razponi veder ...], [pojavitve vrednosti ...]).

Primer 1:

Ustvarimo RDD z imenom »Building_height« z 10 vrednostmi in ustvarimo histogram s 3 vedri.

uvozi pyspark

iz pyspark.sql uvozi SparkSession

iz pyspark.rdd uvozite RDD

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

# Ustvarite RDD z 10 vrednostmi

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

natisni( 'Dejansko:' ,Building_height.collect())

# Določanje 3 veder

Building_height.histogram( 3 )

Izhod:

  1. Vedro-1 se giblje od 12,0 do 86,223 : v tem obsegu je skupno število vrednosti v vedru 5.
  2. Vedro-2 se giblje od 86.223 do 160.446 : v tem obsegu je skupno število vrednosti v vedru 3.
  3. Vedro-3 se giblje od 160,446 do 234,67 : v tem obsegu je skupno število vrednosti, prisotnih v vedru, 2.

Primer 2:

Ustvarite histogram z 2 vedroma na predhodno ustvarjenem RDD.

uvozi pyspark

iz pyspark.sql uvozi SparkSession

iz pyspark.rdd uvozite RDD

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

# Ustvarite RDD z 10 vrednostmi

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

natisni( 'Dejansko:' ,Building_height.collect())

# Določanje 2 veder

Building_height.histogram( 2 )

Izhod:

  1. Vedro 1 se giblje od 12,0 do 123,335. V tem obsegu je skupno število vrednosti, ki so prisotne v vedru, 8.
  2. Vedro 2 se giblje od 123,335 do 234,67: v tem obsegu je skupno število vrednosti, ki so prisotne v vedru, 2.

Narišite histogram na PySpark RDD tako, da določite velikost vsakega vedra

V prejšnjem scenariju smo vedra posredovali funkciji RDD.histogram(). Zdaj posredujemo velikosti vedra eno za drugo znotraj seznama in ta seznam posredujemo kot parameter tej funkciji. Prepričajte se, da moramo določiti vsaj dve vedri v naraščajočem/naraščajočem vrstnem redu in ne bo imelo podvojenih vrednosti.

Sintaksa:

pyspark_RDD.histogram([razponi segmentov ...])

V tem scenariju posredujemo število veder (celo število), ki so vključena v histogram. Vrne nabor seznamov, ki vključujejo obsege veder in ustrezne pojavitve vrednosti v naslednji obliki: ([razponi veder ...], [pojavitve vrednosti ...]).

Primer 1:

Ustvarimo RDD z imenom »Building_height« z 10 vrednostmi in ustvarimo histogram z obsegom vrednosti buckerja [0, 50, 100, 150, 200, 250].

uvozi pyspark

iz pyspark.sql uvozi SparkSession

iz pyspark.rdd uvozite RDD

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

# Ustvarite RDD z 10 vrednostmi

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

natisni( 'Dejansko:' ,Building_height.collect())

# Določanje vedra z velikostjo - [0,50,100,150,200,250]

Building_height.histogram([ 0 , petdeset , 100 , 150 , 200 , 250 ])

Izhod:

  1. Vedro 1: (0 do 50) : Skupne vrednosti v tem vedru so 3.
  2. Vedro 1: (50 do 100) : Skupne vrednosti v tem vedru so 2.
  3. Vedro 1: (100 do 150) : Skupne vrednosti v tem vedru so 2.
  4. Vedro 1: (150 do 200) : Skupne vrednosti v tem vedru so 2.
  5. Vedro 1: (200 do 250) : Skupne vrednosti v tem vedru so 2.

Primer 2:

Ustvarite histogram z obsegom vrednosti vedra [0, 100, 200, 300].

uvozi pyspark

iz pyspark.sql uvozi SparkSession

iz pyspark.rdd uvozite RDD

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

# Ustvarite RDD z 10 vrednostmi

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

natisni( 'Dejansko:' ,Building_height.collect())

# Določanje vedra z velikostjo - [0,100,200,300]

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

Izhod:

  1. Vedro 1: (0 do 100). Skupna vrednost v tem vedru je 5.
  2. 2. vedro: (100 do 200). Skupna vrednost v tem vedru je 3.
  3. Vedro 3: (200 do 300). Skupna vrednost v tem vedru je 2.

Zaključek

Videli smo, kako ustvariti histograme v PySpark na PySpark Pandas DataFrame in RDD. histogram() je funkcija, ki se uporablja za pridobivanje histograma podatkov RDD. Plot.hist() se uporablja za prikaz histograma v PySpark Pandas DataFrame. O teh funkcijah smo razpravljali s primeri in zajeli vse parametre.