PySpark Verilerini Histogramda Nasıl Çizersiniz?

Pyspark Verilerini Histogramda Nasil Cizersiniz



PySpark'ta veri görselleştirme, histogram ve diğer çizim teknikleri kullanılarak yapılır. Bu, Veri Bilimi mühendislerinin verileri grafiksel gösterimle anlamalarına yardımcı olur. Zaman onlar için önemli bir kısıtlamadır. Bu görselleştirmeler sayesinde, text/csv ve diğerleri gibi diğer veri formatlarına kıyasla verileri daha hızlı analiz edebilirler.

Bu kılavuzda, PySpark Verilerinin histogram üzerinde nasıl çizileceğini göreceğiz. Burada iki senaryo görebiliriz. Histogram, PySpark Pandas DataFrame ve RDD verileri üzerinde oluşturulur. Bu iki senaryo için PySpark iki işlev sağlar: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

İçindekiler Konusu:







Pyspark.pandas.DataFrame.plot.hist()

Bu senaryoda, histogram, yatay x ekseni boyunca bir dizi sınıfı sütunlara (PySpark Pandas DataFrame'den) yerleştiren verilerin grafik benzeri bir temsili olarak görüntülenir. Y ekseni, her sütun için PySpark Pandas DataFrame'deki oluşum sayısını temsil eder.



Sözdizimi:



pyspark_pandas_DataFrame.plot.hist(kutular,...)

Bir tamsayı olan isteğe bağlı bir parametre ve bazı isteğe bağlı anahtar kelime bağımsız değişkenleri olarak toplam kutu sayısını alır. Her sütun için bölmeler belirtilmemişse, bir çubuk oluşturulur.





PySpark Pandas DataFrame üzerinde Histogram çizin

4 kayıt içeren 2 sütuna sahip bir PySpark Pandas DataFrame oluşturun. plot.hist() işlevine herhangi bir parametre geçirmeden histogramı çizin.

pyspark'tan içe aktarma pandaları

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bina_yüksekliği' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Bina_Alan' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# PySpark-Pandalar histogramı

pyspark_pandas_dataframe.plot.hist()

Çıktı:



Buradaki sütun adları “Bina_yüksekliği” ve “Yapı_Alanı” şeklindedir.

Histograma bakalım:

Önceki DataFrame'deki toplam satır sayısı 4'tür. Böylece 4 bin oluşturulur.

Bins Parametresi ile PySpark Pandas DataFrame üzerinde Histogram çizin

4 kayıt içeren 2 sütuna sahip bir PySpark Pandas DataFrame oluşturun. plot.hist() işlevine herhangi bir parametre geçirmeden histogramı çizin.

pyspark'tan içe aktarma pandaları

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bina_yüksekliği' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Bina_Alan' :[ 2 , 3 , 1 , 4 ]})

# 2 bölmeli PySpark-Pandas histogramı

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Çıktı:

Buradaki sütun adları “Bina_yüksekliği” ve “Yapı_Alanı” şeklindedir.

Histograma bakalım - kırmızı, 'Building_Area' ve mavi, 'Building_height' sütununu ifade eder:

Belirttiğimiz gibi sadece 2 bin ve 2 bar oluşturuldu. Burada dört sıra 2 kovaya bindirilir.

Kova Numarasını Belirterek PySpark RDD'de Histogram Çiz

RDD ile çalışırken, histogram, demetleri ve her demette bulunan toplam değerleri içeren bir demet biçiminde döndürülebilir.

Sözdizimi:

pyspark_RDD.histogram(paketler)

Bu senaryoda, Histogram'a dahil edilen kova sayısını (tamsayı) iletiyoruz. Demet aralıklarını ve karşılık gelen değer oluşumlarını içeren listelerin demetini aşağıdaki biçimde döndürür: ([kova aralıkları…], [değer oluşumları…]).

Örnek 1:

10 değer ile “Building_height” adında bir RDD oluşturalım ve 3 kova ile bir histogram oluşturalım.

pyspark'ı içe aktar

pyspark.sql'den SparkSession'ı içe aktarın

pyspark.rdd'den RDD'yi içe aktar

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

# 10 değerli bir RDD oluşturun

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

Yazdır( 'Gerçek: ' ,Building_height.collect())

# 3 grup belirleme

Building_height.histogram( 3 )

Çıktı:

  1. Grup-1, 12.0 ile 86.223 arasında değişir: Bu aralıkta, grupta bulunan toplam değer sayısı 5'tir.
  2. Kova-2, 86.223 ile 160.446 arasında değişir: Bu aralıkta, kovada bulunan toplam değer sayısı 3'tür.
  3. Kova-3, 160.446 ile 234.67 arasında değişir: Bu aralıkta, kovada bulunan toplam değer sayısı 2'dir.

Örnek 2:

Daha önce oluşturulan RDD'de 2 bölmeli bir histogram oluşturun.

pyspark'ı içe aktar

pyspark.sql'den SparkSession'ı içe aktarın

pyspark.rdd'den RDD'yi içe aktar

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

# 10 değerli bir RDD oluşturun

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

Yazdır( 'Gerçek: ' ,Building_height.collect())

# 2 kova belirtme

Building_height.histogram( 2 )

Çıktı:

  1. Grup 1, 12,0 ile 123,335 arasında değişir. Bu aralıkta, grupta bulunan değerlerin toplam sayısı 8'dir.
  2. Bölüm 2, 123,335 ile 234,67 arasında değişir: Bu aralıkta, grupta bulunan değerlerin toplam sayısı 2'dir.

Her Kovanın Boyutunu Belirterek PySpark RDD'de Histogram Çizin

Önceki senaryoda, klasörleri RDD.histogram() işlevine aktardık. Şimdi sıra ile kova boyutlarını bir liste içerisinden geçiriyoruz ve bu listeyi bu fonksiyona parametre olarak iletiyoruz. Artan/artan düzende en az iki grup belirtmemiz gerektiğinden ve yinelenen değerlere sahip olmayacağından emin olun.

Sözdizimi:

pyspark_RDD.histogram([kova aralıkları…])

Bu senaryoda, histograma dahil edilen kova sayısını (tam sayı) iletiyoruz. Demet aralıklarını ve karşılık gelen değer oluşumlarını içeren listelerin demetini aşağıdaki biçimde döndürür: ([kova aralıkları…], [değer oluşumları…]).

Örnek 1:

10 değer ile “Building_height” adında bir RDD oluşturalım ve bucker aralığı [0, 50, 100, 150, 200, 250] ile bir histogram oluşturalım.

pyspark'ı içe aktar

pyspark.sql'den SparkSession'ı içe aktarın

pyspark.rdd'den RDD'yi içe aktar

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

# 10 değerli bir RDD oluşturun

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

Yazdır( 'Gerçek: ' ,Building_height.collect())

# Kovayı boyutla belirtme - [0,50,100,150,200,250]

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

Çıktı:

  1. Grup 1: (0 - 50) : Bu gruptaki toplam değerler 3'tür.
  2. Grup 1: (50 - 100) : Bu gruptaki toplam değerler 2'dir.
  3. Grup 1: (100 - 150) : Bu gruptaki toplam değerler 2'dir.
  4. Grup 1: (150 ila 200) : Bu gruptaki toplam değerler 2'dir.
  5. Grup 1: (200 ila 250) : Bu gruptaki toplam değerler 2'dir.

Örnek 2:

Demet aralığı değerleri [0, 100, 200, 300] ile bir histogram oluşturun.

pyspark'ı içe aktar

pyspark.sql'den SparkSession'ı içe aktarın

pyspark.rdd'den RDD'yi içe aktar

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

# 10 değerli bir RDD oluşturun

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

Yazdır( 'Gerçek: ' ,Building_height.collect())

# Kovayı boyutla belirtme - [0,100,200,300]

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

Çıktı:

  1. Grup 1: (0 ila 100). Bu gruptaki toplam değer 5'tir.
  2. Kova 2: (100 ila 200). Bu gruptaki toplam değer 3'tür.
  3. Kova 3: (200 ila 300). Bu gruptaki toplam değer 2'dir.

Çözüm

PySpark Pandas DataFrame ve RDD üzerinde PySpark'ta histogramların nasıl oluşturulduğunu gördük. histogram(), RDD verileri üzerindeki histogramı almak için kullanılan fonksiyondur. PySpark Pandas DataFrame'de histogramı görüntülemek için plot.hist() kullanılır. Bu fonksiyonları tüm parametreleri ele alarak örneklerle ele aldık.