Cara Memplot Data PySpark pada Histogram

Cara Memplot Data Pyspark Pada Histogram



Dalam PySpark, visualisasi data dilakukan menggunakan histogram dan teknik plot lain. Ini membantu memahami jurutera Sains Data dengan data dalam perwakilan grafik. Masa adalah kekangan penting bagi mereka. Dengan visualisasi ini, mereka boleh menganalisis data dengan lebih cepat jika dibandingkan dengan format data lain seperti teks/csv dan lain-lain.

Dalam panduan ini, kita akan melihat cara memplot Data PySpark pada histogram. Kita boleh lihat dua senario di sini. Histogram dicipta pada PySpark Pandas DataFrame dan pada data RDD. Untuk dua senario ini, PySpark menyediakan dua fungsi: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Topik Kandungan:







Pyspark.pandas.DataFrame.plot.hist()

Dalam senario ini, histogram dipaparkan sebagai perwakilan seperti graf bagi data yang menimbakan julat kelas ke dalam lajur (daripada PySpark Pandas DataFrame) bersama-sama dengan paksi-x mendatar. Paksi-y mewakili bilangan bilangan kejadian dalam PySpark Pandas DataFrame untuk setiap lajur.



Sintaks:



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

Ia mengambil jumlah bilangan tong sebagai parameter pilihan yang merupakan integer dan beberapa argumen kata kunci pilihan. Jika tong sampah tidak ditentukan untuk setiap lajur, bar dibuat.





Plot Histogram pada PySpark Pandas DataFrame

Cipta PySpark Pandas DataFrame yang mempunyai 2 lajur dengan 4 rekod. Plot histogram tanpa menghantar sebarang parameter ke fungsi plot.hist().

daripada panda import pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'Ketinggian_Bangunan' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Kawasan_Bangunan' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# Histogram PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Pengeluaran:



Di sini, nama lajur ialah 'Ketinggian_Bangunan' dan 'Kawasan_Bangunan'.

Mari lihat Histogram:

Jumlah bilangan baris dalam DataFrame sebelumnya ialah 4. Jadi, 4 tong dibuat.

Plot Histogram pada PySpark Pandas DataFrame dengan Parameter Tong Sampah

Cipta PySpark Pandas DataFrame yang mempunyai 2 lajur dengan 4 rekod. Plot histogram tanpa menghantar sebarang parameter ke fungsi plot.hist().

daripada panda import pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'Ketinggian_Bangunan' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Kawasan_Bangunan' :[ 2 , 3 , 1 , 4 ]})

# Histogram PySpark-Pandas dengan 2 tong sampah

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Pengeluaran:

Di sini, nama lajur ialah 'Ketinggian_Bangunan' dan 'Kawasan_Bangunan'.

Mari lihat histogram - merah merujuk kepada 'Kawasan_Bangunan' dan biru merujuk kepada lajur 'Ketinggian_Bangunan':

Seperti yang kami nyatakan, hanya 2 tong dan 2 bar telah dibuat. Empat baris dimasukkan ke dalam 2 baldi di sini.

Plot Histogram pada PySpark RDD dengan Menentukan Nombor Baldi

Apabila anda bekerja dengan RDD, histogram boleh dikembalikan dalam bentuk tuple yang merangkumi baldi dan jumlah nilai yang terdapat dalam setiap baldi.

Sintaks:

pyspark_RDD.histogram(baldi)

Dalam senario ini, kita lulus bilangan baldi (integer) yang disertakan dalam Histogram. Ia mengembalikan tuple senarai yang termasuk julat baldi dan kejadian nilai yang sepadan dalam format berikut: ([julat baldi…], [kejadian nilai…]).

Contoh 1:

Mari buat RDD bernama 'Building_height' dengan 10 nilai dan buat histogram dengan 3 baldi.

import pyspark

daripada pyspark.sql import SparkSession

daripada pyspark.rdd import RDD

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

# Buat RDD dengan 10 nilai

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

cetak( 'Sebenar:' ,Building_height.collect())

# Menentukan 3 baldi

Building_height.histogram( 3 )

Pengeluaran:

  1. Baldi-1 berjulat dari 12.0 hingga 86.223 : Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 5.
  2. Baldi-2 berjulat dari 86.223 hingga 160.446 : Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 3.
  3. Baldi-3 berjulat dari 160.446 hingga 234.67 : Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 2.

Contoh 2:

Buat histogram dengan 2 baldi pada RDD yang dibuat sebelum ini.

import pyspark

daripada pyspark.sql import SparkSession

daripada pyspark.rdd import RDD

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

# Buat RDD dengan 10 nilai

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

cetak( 'Sebenar:' ,Building_height.collect())

# Menentukan 2 baldi

Building_height.histogram( 2 )

Pengeluaran:

  1. Baldi 1 berjulat dari 12.0 hingga 123.335. Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 8.
  2. Baldi 2 berjulat dari 123.335 hingga 234.67: Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 2.

Plot Histogram pada PySpark RDD dengan Menentukan Saiz Setiap Baldi

Dalam senario sebelumnya, kami menyerahkan baldi kepada fungsi RDD.histogram(). Sekarang, kita lulus saiz baldi satu demi satu dalam senarai dan lulus senarai ini sebagai parameter kepada fungsi ini. Pastikan bahawa kita perlu menentukan sekurang-kurangnya dua baldi dalam tertib meningkat/menaik dan ia tidak akan mempunyai nilai pendua.

Sintaks:

pyspark_RDD.histogram([julat baldi…])

Dalam senario ini, kita lulus bilangan baldi (integer) yang disertakan dalam histogram. Ia mengembalikan tuple senarai yang termasuk julat baldi dan kejadian nilai yang sepadan dalam format berikut: ([julat baldi…], [kejadian nilai…]).

Contoh 1:

Mari buat RDD bernama 'Building_height' dengan 10 nilai dan buat histogram dengan julat nilai bucker [0, 50, 100, 150, 200, 250].

import pyspark

daripada pyspark.sql import SparkSession

daripada pyspark.rdd import RDD

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

# Buat RDD dengan 10 nilai

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

cetak( 'Sebenar:' ,Building_height.collect())

# Menentukan baldi dengan saiz - [0,50,100,150,200,250]

Building_height.histogram([ 0 , lima puluh , 100 , 150 , 200 , 250 ])

Pengeluaran:

  1. Baldi 1: (0 hingga 50): Jumlah nilai dalam baldi ini ialah 3.
  2. Baldi 1: (50 hingga 100): Jumlah nilai dalam baldi ini ialah 2.
  3. Baldi 1: (100 hingga 150): Jumlah nilai dalam baldi ini ialah 2.
  4. Baldi 1: (150 hingga 200) : Jumlah nilai dalam baldi ini ialah 2.
  5. Baldi 1: (200 hingga 250): Jumlah nilai dalam baldi ini ialah 2.

Contoh 2:

Cipta histogram dengan julat baldi nilai [0, 100, 200, 300].

import pyspark

daripada pyspark.sql import SparkSession

daripada pyspark.rdd import RDD

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

# Buat RDD dengan 10 nilai

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

cetak( 'Sebenar:' ,Building_height.collect())

# Menentukan baldi dengan saiz - [0,100,200,300]

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

Pengeluaran:

  1. Baldi 1: (0 hingga 100). Jumlah nilai dalam baldi ini ialah 5.
  2. Baldi 2: (100 hingga 200). Jumlah nilai dalam baldi ini ialah 3.
  3. Baldi 3: (200 hingga 300). Jumlah nilai dalam baldi ini ialah 2.

Kesimpulan

Kami telah melihat cara mencipta histogram dalam PySpark pada PySpark Pandas DataFrame dan RDD. histogram() ialah fungsi yang digunakan untuk mendapatkan histogram pada data RDD. Plot.hist() digunakan untuk memaparkan histogram pada PySpark Pandas DataFrame. Kami membincangkan fungsi ini dengan contoh dengan merangkumi semua parameter.