Paano I-plot ang Data ng PySpark sa Histogram

Paano I Plot Ang Data Ng Pyspark Sa Histogram



Sa PySpark, ginagawa ang visualization ng data gamit ang histogram at iba pang mga diskarte sa pag-plot. Nakakatulong ito na maunawaan ang mga inhinyero ng Data Science gamit ang data sa graphical na representasyon. Ang oras ay isang mahalagang hadlang para sa kanila. Sa pamamagitan ng mga visualization na ito, mas mabilis nilang masusuri ang data kapag inihambing sa iba pang mga format ng data tulad ng text/csv at iba pa.

Sa gabay na ito, makikita natin kung paano i-plot ang Data ng PySpark sa histogram. Dalawang senaryo ang makikita natin dito. Ang histogram ay nilikha sa PySpark Pandas DataFrame at sa RDD data. Para sa dalawang sitwasyong ito, nagbibigay ang PySpark ng dalawang function: pyspark.pandas.DataFrame.plot.hist() at pyspark.RDD.histogram.

Paksa ng Nilalaman:







Pyspark.pandas.DataFrame.plot.hist()

Sa sitwasyong ito, ang histogram ay ipinapakita bilang isang graph-like na representasyon ng data na bucket ng isang hanay ng mga klase sa mga column (mula sa PySpark Pandas DataFrame) kasama ang pahalang na x-axis. Kinakatawan ng y-axis ang bilang ng mga paglitaw sa PySpark Pandas DataFrame para sa bawat column.



Syntax:



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

Kinukuha nito ang kabuuang bilang ng mga bin bilang opsyonal na parameter na isang integer at ilang opsyonal na argumento ng keyword. Kung ang mga bin ay hindi tinukoy para sa bawat hanay, isang bar ay nilikha.





I-plot ang Histogram sa PySpark Pandas DataFrame

Gumawa ng PySpark Pandas DataFrame na mayroong 2 column na may 4 na record. I-plot ang histogram nang hindi nagpapasa ng anumang parameter sa plot.hist() function.

mula sa pyspark import panda

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

print(pyspark_pandas_dataframe)

# PySpark-Pandas histogram

pyspark_pandas_dataframe.plot.hist()

Output:



Dito, ang mga pangalan ng column ay 'Building_height' at 'Building_Area'.

Tingnan natin ang Histogram:

Ang kabuuang bilang ng mga row sa nakaraang DataFrame ay 4. Kaya, 4 na bin ang nalikha.

I-plot ang Histogram sa PySpark Pandas DataFrame gamit ang Parameter ng Bins

Gumawa ng PySpark Pandas DataFrame na mayroong 2 column na may 4 na record. I-plot ang histogram nang hindi nagpapasa ng anumang parameter sa plot.hist() function.

mula sa pyspark import panda

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

# PySpark-Pandas histogram na may 2 bins

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Output:

Dito, ang mga pangalan ng column ay 'Building_height' at 'Building_Area'.

Tingnan natin ang histogram - ang pula ay tumutukoy sa 'Building_Area' at ang asul ay tumutukoy sa 'Building_height' na column:

Gaya ng aming tinukoy, 2 bin at 2 bar lang ang ginawa. Apat na row ang nakabinned sa 2 bucket dito.

I-plot ang Histogram sa PySpark RDD sa pamamagitan ng Pagtukoy sa Numero ng Bucket

Kapag nagtatrabaho ka sa RDD, maaaring ibalik ang histogram sa anyo ng isang tuple na kinabibilangan ng mga bucket at kabuuang halaga na nasa bawat bucket.

Syntax:

pyspark_RDD.histogram(mga bucket)

Sa sitwasyong ito, ipinapasa namin ang bilang ng mga bucket (integer) na kasama sa Histogram. Ibinabalik nito ang tuple ng mga listahan na kinabibilangan ng mga hanay ng bucket at mga katumbas na paglitaw ng halaga sa sumusunod na format: ([mga saklaw ng bucket…], [mga paglitaw ng halaga…]).

Halimbawa 1:

Gumawa tayo ng RDD na may pangalang 'Building_height' na may 10 value at gumawa ng histogram na may 3 bucket.

import pyspark

mula sa pyspark.sql import SparkSession

mula sa pyspark.rdd import RDD

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

# Gumawa ng RDD na may 10 value

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

print( 'Actual:' ,Building_height.collect())

# Pagtukoy ng 3 bucket

Building_height.histogram( 3 )

Output:

  1. Ang bucket-1 ay mula 12.0 hanggang 86.223 : Sa hanay na ito, ang kabuuang bilang ng mga value na nasa bucket ay 5.
  2. Ang bucket-2 ay mula 86.223 hanggang 160.446 : Sa hanay na ito, ang kabuuang bilang ng mga value na nasa bucket ay 3.
  3. Ang Bucket-3 ay mula 160.446 hanggang 234.67 : Sa hanay na ito, ang kabuuang bilang ng mga value na nasa bucket ay 2.

Halimbawa 2:

Gumawa ng histogram na may 2 bucket sa dating ginawang RDD.

import pyspark

mula sa pyspark.sql import SparkSession

mula sa pyspark.rdd import RDD

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

# Gumawa ng RDD na may 10 value

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

print( 'Actual:' ,Building_height.collect())

# Pagtukoy ng 2 bucket

Building_height.histogram( 2 )

Output:

  1. Ang bucket 1 ay mula 12.0 hanggang 123.335. Sa hanay na ito, ang kabuuang bilang ng mga value na nasa bucket ay 8.
  2. Ang bucket 2 ay mula 123.335 hanggang 234.67: Sa hanay na ito, ang kabuuang bilang ng mga value na nasa bucket ay 2.

I-plot ang Histogram sa PySpark RDD sa pamamagitan ng Pagtukoy sa Sukat ng Bawat Bucket

Sa nakaraang senaryo, ipinasa namin ang mga bucket sa RDD.histogram() function. Ngayon, ipinapasa namin ang mga laki ng bucket nang paisa-isa sa loob ng isang listahan at ipinapasa ang listahang ito bilang parameter sa function na ito. Tiyaking kailangan nating tumukoy ng hindi bababa sa dalawang bucket sa pagtaas/papataas na pagkakasunud-sunod at hindi ito magkakaroon ng mga duplicate na halaga.

Syntax:

pyspark_RDD.histogram([mga saklaw ng bucket…])

Sa sitwasyong ito, ipinapasa namin ang bilang ng mga bucket (integer) na kasama sa histogram. Ibinabalik nito ang tuple ng mga listahan na kinabibilangan ng mga hanay ng bucket at mga katumbas na paglitaw ng halaga sa sumusunod na format: ([mga saklaw ng bucket…], [mga paglitaw ng halaga…]).

Halimbawa 1:

Gumawa tayo ng RDD na pinangalanang 'Building_height' na may 10 value at gumawa ng histogram na may bucker range ng mga value [0, 50, 100, 150, 200, 250].

import pyspark

mula sa pyspark.sql import SparkSession

mula sa pyspark.rdd import RDD

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

# Gumawa ng RDD na may 10 value

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

print( 'Actual:' ,Building_height.collect())

# Tinutukoy ang bucket na may sukat - [0,50,100,150,200,250]

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

Output:

  1. Bucket 1: (0 hanggang 50): Ang kabuuang halaga sa bucket na ito ay 3.
  2. Bucket 1: (50 hanggang 100): Ang kabuuang halaga sa bucket na ito ay 2.
  3. Bucket 1: (100 hanggang 150): Ang kabuuang halaga sa bucket na ito ay 2.
  4. Bucket 1: (150 hanggang 200) : Ang kabuuang halaga sa bucket na ito ay 2.
  5. Bucket 1: (200 hanggang 250): Ang kabuuang halaga sa bucket na ito ay 2.

Halimbawa 2:

Gumawa ng histogram na may bucket na hanay ng mga halaga [0, 100, 200, 300].

import pyspark

mula sa pyspark.sql import SparkSession

mula sa pyspark.rdd import RDD

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

# Gumawa ng RDD na may 10 value

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

print( 'Actual:' ,Building_height.collect())

# Tinutukoy ang bucket na may sukat - [0,100,200,300]

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

Output:

  1. Bucket 1: (0 hanggang 100). Ang kabuuang halaga sa bucket na ito ay 5.
  2. Bucket 2: (100 hanggang 200). Ang kabuuang halaga sa bucket na ito ay 3.
  3. Bucket 3: (200 hanggang 300). Ang kabuuang halaga sa bucket na ito ay 2.

Konklusyon

Nakita namin kung paano lumikha ng mga histogram sa PySpark sa PySpark Pandas DataFrame at RDD. histogram() ay ang function na ginagamit upang makuha ang histogram sa RDD data. Ang plot.hist() ay ginagamit upang ipakita ang histogram sa PySpark Pandas DataFrame. Tinalakay namin ang mga function na ito na may mga halimbawa sa pamamagitan ng pagsakop sa lahat ng mga parameter.