Kaip nubraižyti PySpark duomenis histogramoje

Kaip Nubraizyti Pyspark Duomenis Histogramoje



PySpark duomenų vizualizacija atliekama naudojant histogramą ir kitus braižymo būdus. Tai padeda suprasti duomenų mokslo inžinierius naudojant grafinius duomenis. Laikas jiems yra svarbus suvaržymas. Naudodami šias vizualizacijas, jie gali greičiau analizuoti duomenis, palyginti su kitais duomenų formatais, pvz., teksto / csv ir kitais.

Šiame vadove pamatysime, kaip histogramoje pavaizduoti PySpark duomenis. Čia galime pamatyti du scenarijus. Histograma sukuriama PySpark Pandas DataFrame ir RDD duomenimis. Šiems dviem scenarijams PySpark teikia dvi funkcijas: pyspark.pandas.DataFrame.plot.hist() ir pyspark.RDD.histogram.

Turinio tema:







Pyspark.pandas.DataFrame.plot.hist()

Pagal šį scenarijų histograma rodoma kaip grafiką primenantis duomenų atvaizdas, kuris klasių diapazoną suskirsto į stulpelius (iš PySpark Pandas DataFrame) kartu su horizontalia x ašimi. Y ašis rodo kiekvieno stulpelio įvykių skaičių PySpark Pandas DataFrame.



Sintaksė:



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

Bendras dėžių skaičius yra pasirenkamas parametras, kuris yra sveikasis skaičius ir kai kurie pasirenkami raktinio žodžio argumentai. Jei dėtuvės nenurodomos kiekvienam stulpeliui, sukuriama juosta.





Nubraižykite histogramą PySpark Pandas DataFrame

Sukurkite PySpark Pandas DataFrame, turintį 2 stulpelius su 4 įrašais. Nubraižykite histogramą neperduodami nė vieno parametro funkcijai plot.hist().

iš pyspark importo pandos

pyspark_pandas_dataframe=pandas.DataFrame({ „Pastato_aukštis“ :[ 120,56 , 234,67 , 12.0 , 200.45 ], „Pastato_sritis“ :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# PySpark-Pandas histograma

pyspark_pandas_dataframe.plot.hist()

Išvestis:



Čia stulpelių pavadinimai yra „Pastato_aukštis“ ir „Pastato_plotas“.

Pažiūrėkime į histogramą:

Bendras eilučių skaičius ankstesniame DataFrame yra 4. Taigi sukuriamos 4 dėtuvės.

Nubraižykite histogramą PySpark Pandas DataFrame su Bins parametru

Sukurkite PySpark Pandas DataFrame, turintį 2 stulpelius su 4 įrašais. Nubraižykite histogramą neperduodami nė vieno parametro funkcijai plot.hist().

iš pyspark importo pandos

pyspark_pandas_dataframe=pandas.DataFrame({ „Pastato_aukštis“ :[ 120,56 , 234,67 , 12.0 , 200.45 ], „Pastato_sritis“ :[ 2 , 3 , 1 , 4 ]})

# PySpark-Pandas histograma su 2 dėžėmis

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Išvestis:

Čia stulpelių pavadinimai yra „Pastato_aukštis“ ir „Pastato_plotas“.

Pažvelkime į histogramą – raudona spalva reiškia „Pastato_plotas“, o mėlyna – stulpelį „Pastato_aukštis“:

Kaip nurodėme, buvo sukurtos tik 2 šiukšliadėžės ir 2 juostos. Čia keturios eilutės suskirstytos į 2 kibirus.

Nubraižykite histogramą PySpark RDD, nurodydami segmento numerį

Kai dirbate su RDD, histograma gali būti grąžinta seka, apimanti segmentus ir bendras reikšmes, esančias kiekviename segmente.

Sintaksė:

pyspark_RDD.histograma(kibirai)

Pagal šį scenarijų perduodame į Histogramą įtrauktų segmentų skaičių (sveikąjį skaičių). Jis grąžina sąrašų eilutę, apimančią segmentų diapazonus ir atitinkamus reikšmių įvykius tokiu formatu: ([segmento diapazonai…], [reikšmių įvykiai…]).

1 pavyzdys:

Sukurkime RDD pavadinimu „Building_height“ su 10 reikšmių ir sukurkime histogramą su 3 segmentais.

importuoti pyspark

iš pyspark.sql importuoti SparkSession

iš pyspark.rdd importuoti RDD

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

# Sukurkite RDD su 10 reikšmių

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

spausdinti ( 'Tikrai:' ,Pastato_aukštis.rinkti())

# Nurodykite 3 kibirus

Building_height.histogram( 3 )

Išvestis:

  1. Grupė-1 svyruoja nuo 12,0 iki 86,223 : šiame diapazone bendras segmente esančių reikšmių skaičius yra 5.
  2. 2 segmentas svyruoja nuo 86 223 iki 160 446 : šiame diapazone bendras segmente esančių reikšmių skaičius yra 3.
  3. 3 segmentas svyruoja nuo 160 446 iki 234,67 : šiame diapazone bendras segmente esančių reikšmių skaičius yra 2.

2 pavyzdys:

Sukurkite histogramą su 2 segmentais anksčiau sukurtame RDD.

importuoti pyspark

iš pyspark.sql importuoti SparkSession

iš pyspark.rdd importuoti RDD

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

# Sukurkite RDD su 10 reikšmių

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

spausdinti ( 'Tikrai:' ,Pastato_aukštis.rinkti())

# Nurodomi 2 kibirai

Building_height.histogram( 2 )

Išvestis:

  1. 1 segmentas svyruoja nuo 12,0 iki 123,335. Šiame diapazone bendras segmente esančių reikšmių skaičius yra 8.
  2. 2 segmentas svyruoja nuo 123 335 iki 234,67: šiame diapazone bendras segmente esančių reikšmių skaičius yra 2.

Nubraižykite histogramą PySpark RDD, nurodydami kiekvieno segmento dydį

Ankstesniame scenarijuje mes perdavėme segmentus funkcijai RDD.histogram(). Dabar sąraše vienas po kito perduodame segmentų dydžius ir perduodame šį sąrašą kaip parametrą šiai funkcijai. Įsitikinkite, kad turime nurodyti bent du segmentus didėjančia / didėjančia tvarka, ir jis neturės pasikartojančių reikšmių.

Sintaksė:

pyspark_RDD.histograma([skyrių diapazonai…])

Pagal šį scenarijų perduodame į histogramą įtrauktų segmentų skaičių (sveikąjį skaičių). Jis grąžina sąrašų eilutę, apimančią segmentų diapazonus ir atitinkamus reikšmių įvykius tokiu formatu: ([segmento diapazonai…], [reikšmių įvykiai…]).

1 pavyzdys:

Sukurkime RDD pavadinimu „Building_height“ su 10 reikšmių ir sukurkime histogramą su reikšmių diapazonu [0, 50, 100, 150, 200, 250].

importuoti pyspark

iš pyspark.sql importuoti SparkSession

iš pyspark.rdd importuoti RDD

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

# Sukurkite RDD su 10 reikšmių

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

spausdinti ( 'Tikrai:' ,Pastato_aukštis.rinkti())

# Nurodomas kibiras su dydžiu – [0,50,100,150,200,250]

Building_height.histogram([ 0 , penkiasdešimt , 100 , 150 , 200 , 250 ])

Išvestis:

  1. 1 segmentas: (nuo 0 iki 50) : Bendros vertės šiame segmente yra 3.
  2. 1 segmentas: (50–100) : visos vertės šiame segmente yra 2.
  3. 1 segmentas: (100–150) : visos vertės šiame segmente yra 2.
  4. 1 segmentas: (150–200) : visos vertės šiame segmente yra 2.
  5. 1 segmentas: (200–250) : visos vertės šiame segmente yra 2.

2 pavyzdys:

Sukurkite histogramą su reikšmių diapazonu [0, 100, 200, 300].

importuoti pyspark

iš pyspark.sql importuoti SparkSession

iš pyspark.rdd importuoti RDD

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

# Sukurkite RDD su 10 reikšmių

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

spausdinti ( 'Tikrai:' ,Pastato_aukštis.rinkti())

# Nurodomas kibiras su dydžiu – [0,100,200,300]

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

Išvestis:

  1. 1 segmentas: (nuo 0 iki 100). Bendra šio kibiro vertė yra 5.
  2. 2 kibiras: (100–200). Bendra šio kibiro vertė yra 3.
  3. 3 kibiras: (200–300). Bendra šio kibiro vertė yra 2.

Išvada

Matėme, kaip PySpark sukurti histogramas PySpark Pandas DataFrame ir RDD. histograma () yra funkcija, kuri naudojama RDD duomenų histogramai gauti. Plot.hist() naudojamas histogramai rodyti PySpark Pandas DataFrame. Šias funkcijas aptarėme su pavyzdžiais, apimdami visus parametrus.