So zeichnen Sie PySpark-Daten im Histogramm auf

So Zeichnen Sie Pyspark Daten Im Histogramm Auf



In PySpark erfolgt die Datenvisualisierung mithilfe von Histogrammen und anderen Darstellungstechniken. Dies hilft den Data Science-Ingenieuren, die Daten in grafischer Darstellung zu verstehen. Zeit ist für sie eine wichtige Einschränkung. Durch diese Visualisierungen können sie die Daten im Vergleich zu anderen Datenformaten wie Text/CSV und anderen schneller analysieren.

In dieser Anleitung erfahren Sie, wie Sie die PySpark-Daten im Histogramm darstellen. Wir können hier zwei Szenarien sehen. Das Histogramm wird auf PySpark Pandas DataFrame und auf RDD-Daten erstellt. Für diese beiden Szenarien stellt PySpark zwei Funktionen bereit: pyspark.pandas.DataFrame.plot.hist() und pyspark.RDD.histogram.

Inhaltsthema:







Pyspark.pandas.DataFrame.plot.hist()

In diesem Szenario wird das Histogramm als diagrammartige Darstellung von Daten angezeigt, die eine Reihe von Klassen zusammen mit der horizontalen x-Achse in Spalten (aus dem PySpark Pandas DataFrame) einteilt. Die y-Achse stellt die Anzahl der Vorkommen im PySpark Pandas DataFrame für jede Spalte dar.



Syntax:



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

Die Gesamtzahl der Bins wird als optionaler Parameter verwendet, bei dem es sich um eine Ganzzahl und einige optionale Schlüsselwortargumente handelt. Wenn die Bins nicht für jede Spalte angegeben sind, wird ein Balken erstellt.





Zeichnen Sie ein Histogramm im PySpark Pandas DataFrame

Erstellen Sie einen PySpark Pandas DataFrame mit 2 Spalten und 4 Datensätzen. Zeichnen Sie das Histogramm, ohne Parameter an die Funktion plot.hist() zu übergeben.

Von Pyspark Import Pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Gebäude höhe' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Baustelle' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# PySpark-Pandas-Histogramm

pyspark_pandas_dataframe.plot.hist()

Ausgang:



Hier lauten die Spaltennamen „Building_height“ und „Building_Area“.

Schauen wir uns das Histogramm an:

Die Gesamtzahl der Zeilen im vorherigen DataFrame beträgt 4. Es werden also 4 Bins erstellt.

Zeichnen Sie ein Histogramm auf dem PySpark Pandas DataFrame mit dem Bins-Parameter

Erstellen Sie einen PySpark Pandas DataFrame mit 2 Spalten und 4 Datensätzen. Zeichnen Sie das Histogramm, ohne Parameter an die Funktion plot.hist() zu übergeben.

Von Pyspark Import Pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Gebäude höhe' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Baustelle' :[ 2 , 3 , 1 , 4 ]})

# PySpark-Pandas-Histogramm mit 2 Bins

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Ausgang:

Hier lauten die Spaltennamen „Building_height“ und „Building_Area“.

Schauen wir uns das Histogramm an – Rot bezieht sich auf „Building_Area“ und Blau auf die Spalte „Building_height“:

Wie von uns angegeben, wurden nur 2 Bins und 2 Bars erstellt. Hier werden vier Reihen in zwei Eimer zusammengefasst.

Zeichnen Sie ein Histogramm auf dem PySpark RDD, indem Sie die Bucket-Nummer angeben

Wenn Sie mit RDD arbeiten, kann das Histogramm in Form eines Tupels zurückgegeben werden, das die Buckets und Gesamtwerte enthält, die in jedem Bucket vorhanden sind.

Syntax:

pyspark_RDD.histogram(buckets)

In diesem Szenario übergeben wir die Anzahl der Buckets (Ganzzahl), die im Histogramm enthalten sind. Es gibt das Tupel von Listen zurück, das die Bucket-Bereiche und entsprechenden Wertvorkommen im folgenden Format enthält: ([Bucket-Bereiche…], [Wertvorkommen…]).

Beispiel 1:

Erstellen wir ein RDD namens „Building_height“ mit 10 Werten und ein Histogramm mit 3 Buckets.

Pyspark importieren

aus pyspark.sql SparkSession importieren

aus pyspark.rdd RDD importieren

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

# Erstellen Sie ein RDD mit 10 Werten

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

drucken( 'Tatsächlich: ' ,Building_height.collect())

# Angabe von 3 Buckets

Building_height.histogram( 3 )

Ausgang:

  1. Bucket-1 reicht von 12,0 bis 86,223: In diesem Bereich beträgt die Gesamtzahl der im Bucket vorhandenen Werte 5.
  2. Bucket-2 reicht von 86,223 bis 160,446: In diesem Bereich beträgt die Gesamtzahl der im Bucket vorhandenen Werte 3.
  3. Bucket-3 reicht von 160,446 bis 234,67: In diesem Bereich beträgt die Gesamtzahl der im Bucket vorhandenen Werte 2.

Beispiel 2:

Erstellen Sie ein Histogramm mit 2 Buckets auf dem zuvor erstellten RDD.

Pyspark importieren

aus pyspark.sql SparkSession importieren

aus pyspark.rdd RDD importieren

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

# Erstellen Sie ein RDD mit 10 Werten

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

drucken( 'Tatsächlich: ' ,Building_height.collect())

# Angabe von 2 Buckets

Building_height.histogram( 2 )

Ausgang:

  1. Bucket 1 reicht von 12,0 bis 123,335. In diesem Bereich beträgt die Gesamtzahl der im Bucket vorhandenen Werte 8.
  2. Bucket 2 reicht von 123,335 bis 234,67: In diesem Bereich beträgt die Gesamtzahl der im Bucket vorhandenen Werte 2.

Zeichnen Sie ein Histogramm auf dem PySpark-RDD, indem Sie die Größe jedes Buckets angeben

Im vorherigen Szenario haben wir die Buckets an die Funktion RDD.histogram() übergeben. Nun übergeben wir die Bucket-Größen nacheinander in einer Liste und übergeben diese Liste als Parameter an diese Funktion. Stellen Sie sicher, dass wir mindestens zwei Buckets in aufsteigender/aufsteigender Reihenfolge angeben müssen, damit keine doppelten Werte vorhanden sind.

Syntax:

pyspark_RDD.histogram([Bucket-Bereiche…])

In diesem Szenario übergeben wir die Anzahl der Buckets (Ganzzahl), die im Histogramm enthalten sind. Es gibt das Tupel von Listen zurück, das die Bucket-Bereiche und entsprechenden Wertvorkommen im folgenden Format enthält: ([Bucket-Bereiche…], [Wertvorkommen…]).

Beispiel 1:

Erstellen wir ein RDD namens „Building_height“ mit 10 Werten und ein Histogramm mit dem Bucker-Wertebereich [0, 50, 100, 150, 200, 250].

Pyspark importieren

aus pyspark.sql SparkSession importieren

aus pyspark.rdd RDD importieren

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

# Erstellen Sie ein RDD mit 10 Werten

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

drucken( 'Tatsächlich: ' ,Building_height.collect())

# Bucket mit Größe angeben – [0,50,100,150,200,250]

Building_height.histogram([ 0 , fünfzig , 100 , 150 , 200 , 250 ])

Ausgang:

  1. Bucket 1: (0 bis 50): Die Gesamtwerte in diesem Bucket betragen 3.
  2. Bucket 1: (50 bis 100): Die Gesamtwerte in diesem Bucket betragen 2.
  3. Bucket 1: (100 bis 150): Die Gesamtwerte in diesem Bucket betragen 2.
  4. Bucket 1: (150 bis 200): Die Gesamtwerte in diesem Bucket betragen 2.
  5. Bucket 1: (200 bis 250): Die Gesamtwerte in diesem Bucket betragen 2.

Beispiel 2:

Erstellen Sie ein Histogramm mit dem Bucket-Wertebereich [0, 100, 200, 300].

Pyspark importieren

aus pyspark.sql SparkSession importieren

aus pyspark.rdd RDD importieren

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

# Erstellen Sie ein RDD mit 10 Werten

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

drucken( 'Tatsächlich: ' ,Building_height.collect())

# Bucket mit Größe angeben – [0,100,200,300]

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

Ausgang:

  1. Bucket 1: (0 bis 100). Der Gesamtwert in diesem Bucket beträgt 5.
  2. Eimer 2: (100 bis 200). Der Gesamtwert in diesem Bucket beträgt 3.
  3. Eimer 3: (200 bis 300). Der Gesamtwert in diesem Bucket beträgt 2.

Abschluss

Wir haben gesehen, wie man Histogramme in PySpark auf PySpark Pandas DataFrame und RDD erstellt. histogram() ist die Funktion, die verwendet wird, um das Histogramm für RDD-Daten abzurufen. plot.hist() wird verwendet, um das Histogramm im PySpark Pandas DataFrame anzuzeigen. Wir haben diese Funktionen anhand von Beispielen besprochen, indem wir alle Parameter abgedeckt haben.