Sådan plottes PySpark-data på histogram

Sadan Plottes Pyspark Data Pa Histogram



I PySpark udføres datavisualisering ved hjælp af histogram og andre plotteteknikker. Dette hjælper med at forstå Data Science-ingeniørerne med dataene i grafisk repræsentation. Tid er en vigtig begrænsning for dem. Ved hjælp af disse visualiseringer kan de analysere dataene hurtigere sammenlignet med andre dataformater som tekst/csv og andre.

I denne guide vil vi se, hvordan man plotter PySpark-dataene på histogram. Vi kan se to scenarier her. Histogram oprettes på PySpark Pandas DataFrame og på RDD-data. Til disse to scenarier giver PySpark to funktioner: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Emne for indhold:







Pyspark.pandas.DataFrame.plot.hist()

I dette scenarie vises histogram som en graflignende repræsentation af data, der samler en række klasser i kolonner (fra PySpark Pandas DataFrame) sammen med den vandrette x-akse. Y-aksen repræsenterer antallet af forekomster i PySpark Pandas DataFrame for hver kolonne.



Syntaks:



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

Det tager det samlede antal placeringer som en valgfri parameter, som er et heltal og nogle valgfrie søgeordsargumenter. Hvis beholderne ikke er angivet for hver kolonne, oprettes en bjælke.





Plot Histogram på PySpark Pandas DataFrame

Opret en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plot histogrammet uden at overføre nogen parameter til plot.hist()-funktionen.

fra pyspark import pandaer

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøjde' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Bygningsområde' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# PySpark-Pandas histogram

pyspark_pandas_dataframe.plot.hist()

Produktion:



Her er kolonnenavnene 'Bygningshøjde' og 'Bygningsområde'.

Lad os se på histogrammet:

Det samlede antal rækker i den forrige DataFrame er 4. Så der oprettes 4 bins.

Plot Histogram på PySpark Pandas DataFrame med Bins-parameteren

Opret en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plot histogrammet uden at overføre nogen parameter til plot.hist()-funktionen.

fra pyspark import pandaer

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøjde' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Bygningsområde' :[ 2 , 3 , 1 , 4 ]})

# PySpark-Pandas histogram med 2 beholdere

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Produktion:

Her er kolonnenavnene 'Bygningshøjde' og 'Bygningsområde'.

Lad os se på histogrammet - rød henviser til 'Bygningsområde' og blå henviser til kolonnen 'Bygningshøjde':

Som vi specificerede, blev der kun oprettet 2 beholdere og 2 søjler. Fire rækker er gemt i 2 spande her.

Plot histogram på PySpark RDD ved at angive Bucket Number

Når du arbejder med RDD, kan histogram returneres i form af en tupel, der inkluderer buckets og samlede værdier, der er til stede i hver bucket.

Syntaks:

pyspark_RDD.histogram(buckets)

I dette scenarie sender vi antallet af buckets (heltal), der er inkluderet i Histogram. Det returnerer tuppelen af ​​lister, der inkluderer bucket-intervallerne og tilsvarende værdiforekomster i følgende format: ([spandintervaller...], [værdiforekomster...]).

Eksempel 1:

Lad os oprette en RDD med navnet 'Building_height' med 10 værdier og oprette et histogram med 3 buckets.

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

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

# Opret en RDD med 10 værdier

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

Print( 'Faktiske: ' ,Building_height.collect())

# Angivelse af 3 spande

Building_height.histogram( 3 )

Produktion:

  1. Bucket-1 spænder fra 12,0 til 86,223: I dette interval er det samlede antal værdier, der findes i spanden, 5.
  2. Bucket-2 spænder fra 86.223 til 160.446: I dette interval er det samlede antal værdier, der findes i spanden, 3.
  3. Bucket-3 spænder fra 160.446 til 234.67: I dette interval er det samlede antal værdier, der findes i spanden, 2.

Eksempel 2:

Opret et histogram med 2 buckets på den tidligere oprettede RDD.

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

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

# Opret en RDD med 10 værdier

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

Print( 'Faktiske: ' ,Building_height.collect())

# Angivelse af 2 spande

Building_height.histogram( 2 )

Produktion:

  1. Spand 1 varierer fra 12,0 til 123,335. I dette interval er det samlede antal værdier, der er til stede i bøtten, 8.
  2. Spand 2 går fra 123,335 til 234,67: I dette interval er det samlede antal værdier, der er til stede i spanden, 2.

Plot histogram på PySpark RDD ved at specificere størrelsen på hver spand

I det forrige scenarie sendte vi buckets til RDD.histogram()-funktionen. Nu sender vi spandstørrelserne efter hinanden i en liste og sender denne liste som en parameter til denne funktion. Sørg for, at vi skal angive mindst to buckets i stigende/stigende rækkefølge, og det vil ikke have duplikerede værdier.

Syntaks:

pyspark_RDD.histogram([spandintervaller...])

I dette scenarie sender vi antallet af buckets (heltal), der er inkluderet i histogrammet. Det returnerer tuppelen af ​​lister, der inkluderer bucket-intervallerne og tilsvarende værdiforekomster i følgende format: ([spandintervaller...], [værdiforekomster...]).

Eksempel 1:

Lad os oprette en RDD med navnet 'Building_height' med 10 værdier og oprette et histogram med bucker-værdierne [0, 50, 100, 150, 200, 250].

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

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

# Opret en RDD med 10 værdier

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

Print( 'Faktiske: ' ,Building_height.collect())

# Angivelse af spand med størrelse - [0,50,100,150,200,250]

Bygningshøjde.histogram([ 0 , halvtreds , 100 , 150 , 200 , 250 ])

Produktion:

  1. Spand 1: (0 til 50): Samlede værdier i denne spand er 3.
  2. Spand 1: (50 til 100): Samlede værdier i denne spand er 2.
  3. Spand 1: (100 til 150) : Samlede værdier i denne spand er 2.
  4. Spand 1: (150 til 200) : Samlede værdier i denne spand er 2.
  5. Spand 1: (200 til 250) : Samlede værdier i denne spand er 2.

Eksempel 2:

Opret et histogram med bucket-området af værdier [0, 100, 200, 300].

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

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

# Opret en RDD med 10 værdier

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

Print( 'Faktiske: ' ,Building_height.collect())

# Angivelse af spand med størrelse - [0,100,200,300]

Bygningshøjde.histogram([ 0 , 100 , 200 , 300 ])

Produktion:

  1. Spand 1: (0 til 100). Den samlede værdi i denne spand er 5.
  2. Spand 2: (100 til 200). Den samlede værdi i denne spand er 3.
  3. Spand 3: (200 til 300). Den samlede værdi i denne spand er 2.

Konklusion

Vi har set, hvordan man laver histogrammer i PySpark på PySpark Pandas DataFrame og RDD. histogram() er den funktion, der bruges til at få histogrammet på RDD-data. plot.hist() bruges til at vise histogrammet på PySpark Pandas DataFrame. Vi diskuterede disse funktioner med eksempler ved at dække alle parametrene.