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:
- Plot Histogram pada PySpark Pandas DataFrame
- Plot Histogram pada PySpark Pandas DataFrame dengan Parameter Tong Sampah
- Plot Histogram pada PySpark RDD dengan Menentukan Nombor Baldi
- Plot Histogram pada PySpark RDD dengan Menentukan Saiz Setiap Baldi
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 pysparkpyspark_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 pysparkpyspark_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 pysparkdaripada 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:
- Baldi-1 berjulat dari 12.0 hingga 86.223 : Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 5.
- Baldi-2 berjulat dari 86.223 hingga 160.446 : Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 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 pysparkdaripada 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:
- Baldi 1 berjulat dari 12.0 hingga 123.335. Dalam julat ini, jumlah bilangan nilai yang terdapat dalam baldi ialah 8.
- 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 pysparkdaripada 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:
- Baldi 1: (0 hingga 50): Jumlah nilai dalam baldi ini ialah 3.
- Baldi 1: (50 hingga 100): Jumlah nilai dalam baldi ini ialah 2.
- Baldi 1: (100 hingga 150): Jumlah nilai dalam baldi ini ialah 2.
- Baldi 1: (150 hingga 200) : Jumlah nilai dalam baldi ini ialah 2.
- 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 pysparkdaripada 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:
- Baldi 1: (0 hingga 100). Jumlah nilai dalam baldi ini ialah 5.
- Baldi 2: (100 hingga 200). Jumlah nilai dalam baldi ini ialah 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.