Comment tracer des données PySpark sur un histogramme

Comment Tracer Des Donnees Pyspark Sur Un Histogramme



Dans PySpark, la visualisation des données est effectuée à l'aide d'histogrammes et d'autres techniques de traçage. Cela aide à comprendre les ingénieurs Data Science avec les données sous forme de représentation graphique. Le temps est une contrainte importante pour eux. Grâce à ces visualisations, ils peuvent analyser les données plus rapidement par rapport à d'autres formats de données comme text/csv et autres.

Dans ce guide, nous verrons comment tracer les données PySpark sur un histogramme. Nous pouvons voir ici deux scénarios. L'histogramme est créé sur PySpark Pandas DataFrame et sur les données RDD. Pour ces deux scénarios, PySpark fournit deux fonctions : pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Sujet du contenu :







Pyspark.pandas.DataFrame.plot.hist()

Dans ce scénario, l'histogramme s'affiche sous la forme d'une représentation graphique des données qui répartit une plage de classes en colonnes (à partir de PySpark Pandas DataFrame) avec l'axe horizontal des abscisses. L'axe des y représente le nombre d'occurrences dans le DataFrame PySpark Pandas pour chaque colonne.



Syntaxe:



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

Il prend le nombre total de bacs comme paramètre facultatif qui est un entier et quelques arguments de mots clés facultatifs. Si les bacs ne sont pas spécifiés pour chaque colonne, une barre est créée.





Tracer l'histogramme sur le DataFrame PySpark Pandas

Créez un DataFrame PySpark Pandas ayant 2 colonnes avec 4 enregistrements. Tracez l'histogramme sans passer de paramètre à la fonction plot.hist().

de pyspark importer des pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Hauteur_bâtiment' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Bâtiment_Zone' :[ 2 , 3 , 1 , 4 ]})

imprimer (pyspark_pandas_dataframe)

# Histogramme PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Sortir:



Ici, les noms de colonne sont 'Building_height' et 'Building_Area'.

Regardons l'histogramme :

Le nombre total de lignes dans le DataFrame précédent est de 4. Ainsi, 4 bacs sont créés.

Tracer l'histogramme sur le DataFrame PySpark Pandas avec le paramètre Bins

Créez un DataFrame PySpark Pandas ayant 2 colonnes avec 4 enregistrements. Tracez l'histogramme sans passer de paramètre à la fonction plot.hist().

de pyspark importer des pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Hauteur_bâtiment' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Bâtiment_Zone' :[ 2 , 3 , 1 , 4 ]})

# Histogramme PySpark-Pandas avec 2 bacs

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Sortir:

Ici, les noms de colonne sont 'Building_height' et 'Building_Area'.

Regardons l'histogramme - le rouge fait référence à 'Building_Area' et le bleu fait référence à la colonne 'Building_height':

Comme nous l'avons précisé, seuls 2 bacs et 2 barres ont été créés. Quatre rangées sont regroupées en 2 seaux ici.

Tracer l'histogramme sur le RDD PySpark en spécifiant le numéro de compartiment

Lorsque vous travaillez avec RDD, l'histogramme peut être renvoyé sous la forme d'un tuple qui inclut les compartiments et les valeurs totales présentes dans chaque compartiment.

Syntaxe:

pyspark_RDD.histogram(buckets)

Dans ce scénario, nous transmettons le nombre de compartiments (entier) inclus dans l'histogramme. Il renvoie le tuple de listes qui incluent les plages de buckets et les occurrences de valeurs correspondantes au format suivant : ([plages de compartiments…], [occurrences de valeurs…]).

Exemple 1:

Créons un RDD nommé 'Building_height' avec 10 valeurs et créons un histogramme avec 3 seaux.

importer pyspark

depuis pyspark.sql importer SparkSession

depuis pyspark.rdd importer RDD

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

# Créer un RDD avec 10 valeurs

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

imprimer( 'Réel: ' ,Hauteur_bâtiment.collect())

# Spécifier 3 compartiments

Building_height.histogram( 3 )

Sortir:

  1. Bucket-1 va de 12,0 à 86,223 : dans cette plage, le nombre total de valeurs présentes dans le bucket est de 5.
  2. Bucket-2 va de 86.223 à 160.446 : dans cette plage, le nombre total de valeurs présentes dans le bucket est de 3.
  3. Bucket-3 va de 160,446 à 234,67 : dans cette plage, le nombre total de valeurs présentes dans le bucket est de 2.

Exemple 2 :

Créez un histogramme avec 2 compartiments sur le RDD précédemment créé.

importer pyspark

depuis pyspark.sql importer SparkSession

depuis pyspark.rdd importer RDD

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

# Créer un RDD avec 10 valeurs

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

imprimer( 'Réel: ' ,Hauteur_bâtiment.collect())

# Spécifier 2 buckets

Building_height.histogram( 2 )

Sortir:

  1. Le compartiment 1 va de 12,0 à 123,335. Dans cette plage, le nombre total de valeurs présentes dans le bucket est de 8.
  2. Le compartiment 2 est compris entre 123,335 et 234,67 : dans cette plage, le nombre total de valeurs présentes dans le compartiment est de 2.

Tracer l'histogramme sur le RDD PySpark en spécifiant la taille de chaque compartiment

Dans le scénario précédent, nous avons passé les compartiments à la fonction RDD.histogram(). Maintenant, nous passons les tailles de bucket les unes après les autres dans une liste et passons cette liste en tant que paramètre à cette fonction. Assurez-vous que nous devons spécifier au moins deux compartiments dans l'ordre croissant/croissant et qu'il n'y aura pas de valeurs en double.

Syntaxe:

pyspark_RDD.histogram([plages de compartiments…])

Dans ce scénario, nous transmettons le nombre de compartiments (entier) inclus dans l'histogramme. Il renvoie le tuple de listes qui incluent les plages de buckets et les occurrences de valeurs correspondantes au format suivant : ([plages de compartiments…], [occurrences de valeurs…]).

Exemple 1:

Créons un RDD nommé 'Building_height' avec 10 valeurs et créons un histogramme avec la plage de valeurs [0, 50, 100, 150, 200, 250].

importer pyspark

depuis pyspark.sql importer SparkSession

depuis pyspark.rdd importer RDD

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

# Créer un RDD avec 10 valeurs

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

imprimer( 'Réel: ' ,Hauteur_bâtiment.collect())

# Spécifier le bucket avec la taille - [0,50,100,150,200,250]

Hauteur_bâtiment.histogramme([ 0 , cinquante , 100 , 150 , 200 , 250 ])

Sortir:

  1. Bucket 1 : (0 à 50) : les valeurs totales dans ce bucket sont 3.
  2. Bucket 1 : (50 à 100) : les valeurs totales dans ce bucket sont 2.
  3. Bucket 1 : (100 à 150) : les valeurs totales dans ce bucket sont 2.
  4. Bucket 1 : (150 à 200) : les valeurs totales dans ce bucket sont 2.
  5. Bucket 1 : (200 à 250) : les valeurs totales dans ce bucket sont 2.

Exemple 2 :

Créez un histogramme avec la plage de valeurs du seau [0, 100, 200, 300].

importer pyspark

depuis pyspark.sql importer SparkSession

depuis pyspark.rdd importer RDD

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

# Créer un RDD avec 10 valeurs

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

imprimer( 'Réel: ' ,Hauteur_bâtiment.collect())

# Spécifier le bucket avec la taille - [0,100,200,300]

Hauteur_bâtiment.histogramme([ 0 , 100 , 200 , 300 ])

Sortir:

  1. Seau 1 : (0 à 100). La valeur totale dans ce seau est 5.
  2. Seau 2 : (100 à 200). La valeur totale dans ce compartiment est 3.
  3. Seau 3 : (200 à 300). La valeur totale dans ce bucket est 2.

Conclusion

Nous avons vu comment créer des histogrammes dans PySpark sur PySpark Pandas DataFrame et RDD. histogram() est la fonction utilisée pour obtenir l'histogramme sur les données RDD. Le plot.hist() est utilisé pour afficher l'histogramme sur PySpark Pandas DataFrame. Nous avons abordé ces fonctions avec des exemples en couvrant tous les paramètres.