Πώς να σχεδιάσετε τα δεδομένα PySpark στο ιστόγραμμα

Pos Na Schediasete Ta Dedomena Pyspark Sto Istogramma



Στο PySpark, η οπτικοποίηση δεδομένων γίνεται χρησιμοποιώντας ιστογράμματα και άλλες τεχνικές σχεδίασης. Αυτό βοηθά στην κατανόηση των μηχανικών της Επιστήμης Δεδομένων με τα δεδομένα σε γραφική αναπαράσταση. Ο χρόνος είναι ένας σημαντικός περιορισμός για αυτούς. Με αυτές τις οπτικοποιήσεις, μπορούν να αναλύσουν τα δεδομένα πιο γρήγορα σε σύγκριση με άλλες μορφές δεδομένων, όπως κείμενο/csv και άλλες.

Σε αυτόν τον οδηγό, θα δούμε πώς να σχεδιάσουμε τα δεδομένα PySpark στο ιστόγραμμα. Εδώ μπορούμε να δούμε δύο σενάρια. Το ιστόγραμμα δημιουργείται στο PySpark Pandas DataFrame και σε δεδομένα RDD. Για αυτά τα δύο σενάρια, το PySpark παρέχει δύο λειτουργίες: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Θέμα Περιεχομένων:







Pyspark.pandas.DataFrame.plot.hist()

Σε αυτό το σενάριο, το ιστόγραμμα εμφανίζεται ως γραφική αναπαράσταση δεδομένων που τοποθετεί μια σειρά κλάσεων σε στήλες (από το PySpark Pandas DataFrame) μαζί με τον οριζόντιο άξονα x. Ο άξονας y αντιπροσωπεύει τον αριθμό των εμφανίσεων στο PySpark Pandas DataFrame για κάθε στήλη.



Σύνταξη:



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

Λαμβάνει τον συνολικό αριθμό των bins ως προαιρετική παράμετρο που είναι ένας ακέραιος και ορισμένα προαιρετικά ορίσματα λέξης-κλειδιού. Εάν οι κάδοι δεν καθορίζονται για κάθε στήλη, δημιουργείται μια γραμμή.





Σχεδιάστε το Ιστόγραμμα στο PySpark Pandas DataFrame

Δημιουργήστε ένα PySpark Pandas DataFrame με 2 στήλες με 4 εγγραφές. Σχεδιάστε το ιστόγραμμα χωρίς να περάσετε καμία παράμετρο στη συνάρτηση plot.hist().

από panda εισαγωγής pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'Κτίριο_ύψος' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# Ιστόγραμμα PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Παραγωγή:



Εδώ, τα ονόματα στηλών είναι 'Building_height' και 'Building_Area'.

Ας δούμε το Ιστόγραμμα:

Ο συνολικός αριθμός σειρών στο προηγούμενο DataFrame είναι 4. Έτσι, δημιουργούνται 4 θέσεις.

Σχεδιάστε το ιστόγραμμα στο PySpark Pandas DataFrame με την παράμετρο Bins

Δημιουργήστε ένα PySpark Pandas DataFrame με 2 στήλες με 4 εγγραφές. Σχεδιάστε το ιστόγραμμα χωρίς να περάσετε καμία παράμετρο στη συνάρτηση plot.hist().

από panda εισαγωγής pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'Κτίριο_ύψος' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

# Ιστόγραμμα PySpark-Pandas με 2 κάδους

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Παραγωγή:

Εδώ, τα ονόματα στηλών είναι 'Building_height' και 'Building_Area'.

Ας δούμε το ιστόγραμμα - το κόκκινο αναφέρεται στο 'Building_Area' και το μπλε αναφέρεται στη στήλη 'Building_height':

Όπως διευκρινίσαμε, δημιουργήθηκαν μόνο 2 κάδοι και 2 μπάρες. Τέσσερις σειρές είναι δεμένες σε 2 κουβάδες εδώ.

Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας τον αριθμό κάδου

Όταν εργάζεστε με RDD, το ιστόγραμμα μπορεί να επιστραφεί με τη μορφή πλειάδας που περιλαμβάνει τους κάδους και τις συνολικές τιμές που υπάρχουν σε κάθε κάδο.

Σύνταξη:

pyspark_RDD.histogram(buckets)

Σε αυτό το σενάριο, περνάμε τον αριθμό των κουβάδων (ακέραιος) που περιλαμβάνονται στο Ιστόγραμμα. Επιστρέφει την πλειάδα των λιστών που περιλαμβάνουν τις περιοχές του κάδου και τις αντίστοιχες εμφανίσεις τιμών στην ακόλουθη μορφή: ([εύρη κάδου…], [εμφανίσεις τιμών…]).

Παράδειγμα 1:

Ας δημιουργήσουμε ένα RDD με το όνομα 'Building_height' με 10 τιμές και ας δημιουργήσουμε ένα ιστόγραμμα με 3 κάδους.

εισαγωγή pyspark

από το pyspark.sql εισαγωγή SparkSession

από το pyspark.rdd εισαγωγή RDD

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

# Δημιουργήστε ένα RDD με 10 τιμές

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

Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())

# Καθορισμός 3 κουβάδων

Building_height.histogram( 3 )

Παραγωγή:

  1. Το Bucket-1 κυμαίνεται από 12,0 έως 86,223: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 5.
  2. Το Bucket-2 κυμαίνεται από 86.223 έως 160.446: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 3.
  3. Το Bucket-3 κυμαίνεται από 160.446 έως 234.67: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 2.

Παράδειγμα 2:

Δημιουργήστε ένα ιστόγραμμα με 2 κάδους στο RDD που δημιουργήθηκε προηγουμένως.

εισαγωγή pyspark

από το pyspark.sql εισαγωγή SparkSession

από το pyspark.rdd εισαγωγή RDD

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

# Δημιουργήστε ένα RDD με 10 τιμές

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

Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())

# Καθορισμός 2 κουβάδων

Building_height.histogram( 2 )

Παραγωγή:

  1. Ο κάδος 1 κυμαίνεται από 12,0 έως 123,335. Σε αυτό το εύρος, ο συνολικός αριθμός των τιμών που υπάρχουν στον κάδο είναι 8.
  2. Ο κάδος 2 κυμαίνεται από 123.335 έως 234.67: Σε αυτό το εύρος, ο συνολικός αριθμός των τιμών που υπάρχουν στον κάδο είναι 2.

Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας το μέγεθος κάθε κάδου

Στο προηγούμενο σενάριο, περάσαμε τους κάδους στη συνάρτηση RDD.histogram(). Τώρα, περνάμε τα μεγέθη του κάδου το ένα μετά το άλλο μέσα σε μια λίστα και περνάμε αυτήν τη λίστα ως παράμετρο σε αυτήν τη συνάρτηση. Βεβαιωθείτε ότι πρέπει να καθορίσουμε τουλάχιστον δύο κάδους με αύξουσα/αύξουσα σειρά και δεν θα έχει διπλότυπες τιμές.

Σύνταξη:

pyspark_RDD.histogram([εύρη κάδου…])

Σε αυτό το σενάριο, περνάμε τον αριθμό των κουβάδων (ακέραιος) που περιλαμβάνονται στο ιστόγραμμα. Επιστρέφει την πλειάδα των λιστών που περιλαμβάνουν τις περιοχές του κάδου και τις αντίστοιχες εμφανίσεις τιμών στην ακόλουθη μορφή: ([εύρη κάδου…], [εμφανίσεις τιμών…]).

Παράδειγμα 1:

Ας δημιουργήσουμε ένα RDD με το όνομα 'Building_height' με 10 τιμές και ας δημιουργήσουμε ένα ιστόγραμμα με το bucker εύρος τιμών [0, 50, 100, 150, 200, 250].

εισαγωγή pyspark

από το pyspark.sql εισαγωγή SparkSession

από το pyspark.rdd εισαγωγή RDD

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

# Δημιουργήστε ένα RDD με 10 τιμές

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

Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())

# Καθορισμός κάδου με μέγεθος - [0,50,100,150,200,250]

Building_height.histogram([ 0 , πενήντα , 100 , 150 , 200 , 250 ])

Παραγωγή:

  1. Κάδος 1: (0 έως 50) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 3.
  2. Κάδος 1: (50 έως 100) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
  3. Κάδος 1: (100 έως 150) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
  4. Κάδος 1: (150 έως 200) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
  5. Κάδος 1: (200 έως 250) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.

Παράδειγμα 2:

Δημιουργήστε ένα ιστόγραμμα με το εύρος τιμών του κάδου [0, 100, 200, 300].

εισαγωγή pyspark

από το pyspark.sql εισαγωγή SparkSession

από το pyspark.rdd εισαγωγή RDD

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

# Δημιουργήστε ένα RDD με 10 τιμές

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

Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())

# Καθορισμός κάδου με μέγεθος - [0,100,200,300]

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

Παραγωγή:

  1. Κάδος 1: (0 έως 100). Η συνολική αξία σε αυτόν τον κάδο είναι 5.
  2. Κάδος 2: (100 έως 200). Η συνολική αξία σε αυτόν τον κάδο είναι 3.
  3. Κάδος 3: (200 έως 300). Η συνολική αξία σε αυτόν τον κάδο είναι 2.

συμπέρασμα

Είδαμε πώς να δημιουργήσουμε ιστογράμματα στο PySpark σε PySpark Pandas DataFrame και RDD. Το histogram() είναι η συνάρτηση που χρησιμοποιείται για τη λήψη του ιστογράμματος σε δεδομένα RDD. Το plot.hist() χρησιμοποιείται για την εμφάνιση του ιστογράμματος στο PySpark Pandas DataFrame. Συζητήσαμε αυτές τις συναρτήσεις με παραδείγματα καλύπτοντας όλες τις παραμέτρους.