इस गाइड में, हम देखेंगे कि PySpark डेटा को हिस्टोग्राम पर कैसे प्लॉट किया जाए। हम यहां दो परिदृश्य देख सकते हैं। हिस्टोग्राम PySpark पांडा डेटाफ़्रेम और RDD डेटा पर बनाया गया है। इन दो परिदृश्यों के लिए, PySpark दो कार्य प्रदान करता है: pyspark.pandas.DataFrame.plot.hist() और pyspark.RDD.histogram।
सामग्री का विषय:
- PySpark पांडा डेटाफ़्रेम पर प्लॉट हिस्टोग्राम
- बिन्स पैरामीटर के साथ PySpark पांडा डेटाफ़्रेम पर प्लॉट हिस्टोग्राम
- बाल्टी संख्या निर्दिष्ट करके PySpark RDD पर प्लॉट हिस्टोग्राम
- प्रत्येक बकेट के आकार को निर्दिष्ट करके PySpark RDD पर प्लॉट हिस्टोग्राम
Pyspark.pandas.DataFrame.plot.hist ()
इस परिदृश्य में, हिस्टोग्राम को डेटा के ग्राफ़-जैसे प्रतिनिधित्व के रूप में प्रदर्शित किया जाता है जो क्षैतिज एक्स-अक्ष के साथ-साथ कक्षाओं की एक श्रृंखला को कॉलम (PySpark पांडा डेटाफ़्रेम से) में बकेट करता है। Y-अक्ष प्रत्येक स्तंभ के लिए PySpark पांडा DataFrame में होने वाली घटनाओं की संख्या का प्रतिनिधित्व करता है।
वाक्य - विन्यास:
pyspark_pandas_DataFrame.plot.hist(डिब्बे,...)
यह डिब्बे की कुल संख्या को एक वैकल्पिक पैरामीटर के रूप में लेता है जो एक पूर्णांक और कुछ वैकल्पिक कीवर्ड तर्क हैं। यदि बिन्स प्रत्येक कॉलम के लिए निर्दिष्ट नहीं हैं, तो एक बार बनाया जाता है।
PySpark पांडा डेटाफ़्रेम पर प्लॉट हिस्टोग्राम
4 रिकॉर्ड वाले 2 कॉलम वाले PySpark पांडा डेटाफ़्रेम बनाएं। प्लॉट.हिस्ट () फ़ंक्शन के लिए कोई पैरामीटर पास किए बिना हिस्टोग्राम प्लॉट करें।
pyspark आयात पांडा सेpyspark_pandas_dataframe=pandas.DataFrame({ 'बिल्डिंग_हाइट' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'निर्माण क्षेत्र' :[ 2 , 3 , 1 , 4 ]})
प्रिंट (pyspark_pandas_dataframe)
# पायस्पार्क-पांडस हिस्टोग्राम
pyspark_pandas_dataframe.plot.hist ()
आउटपुट:
यहां, कॉलम के नाम 'बिल्डिंग_हाइट' और 'बिल्डिंग_एरिया' हैं।
आइए हिस्टोग्राम देखें:
पिछले DataFrame में पंक्तियों की कुल संख्या 4 है। इसलिए, 4 डिब्बे बनाए जाते हैं।
बिन्स पैरामीटर के साथ PySpark पांडा डेटाफ़्रेम पर प्लॉट हिस्टोग्राम
4 रिकॉर्ड वाले 2 कॉलम वाले PySpark पांडा डेटाफ़्रेम बनाएं। प्लॉट.हिस्ट () फ़ंक्शन के लिए कोई पैरामीटर पास किए बिना हिस्टोग्राम प्लॉट करें।
pyspark आयात पांडा सेpyspark_pandas_dataframe=pandas.DataFrame({ 'बिल्डिंग_हाइट' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'निर्माण क्षेत्र' :[ 2 , 3 , 1 , 4 ]})
# PySpark-Pandas हिस्टोग्राम 2 डिब्बे के साथ
pyspark_pandas_dataframe.plot.hist (डिब्बे = 2 )
आउटपुट:
यहां, कॉलम के नाम 'बिल्डिंग_हाइट' और 'बिल्डिंग_एरिया' हैं।
आइए हिस्टोग्राम देखें - लाल 'बिल्डिंग_एरिया' को संदर्भित करता है और नीला 'बिल्डिंग_हाइट' कॉलम को संदर्भित करता है:
जैसा कि हमने बताया, केवल 2 डिब्बे और 2 बार बनाए गए थे। यहां चार पंक्तियों को 2 बाल्टियों में रखा गया है।
बाल्टी संख्या निर्दिष्ट करके PySpark RDD पर प्लॉट हिस्टोग्राम
जब आप RDD के साथ काम कर रहे होते हैं, तो हिस्टोग्राम को टपल के रूप में लौटाया जा सकता है जिसमें बकेट और प्रत्येक बकेट में मौजूद कुल मान शामिल होते हैं।
वाक्य - विन्यास:
pyspark_RDD.histogram (बाल्टी)इस परिदृश्य में, हम हिस्टोग्राम में शामिल बकेट (पूर्णांक) की संख्या पास करते हैं। यह उन सूचियों का टपल लौटाता है जिनमें बकेट रेंज और संबंधित मूल्य घटनाएँ निम्नलिखित प्रारूप में शामिल हैं: ([बकेट रेंज...], [वैल्यू रेक्वेंसेंस...])।
उदाहरण 1:
आइए 10 मानों के साथ 'बिल्डिंग_हाइट' नाम का एक RDD बनाएं और 3 बकेट के साथ एक हिस्टोग्राम बनाएं।
pyspark आयात करेंpyspark.sql से SparkSession आयात करें
pyspark.rdd से RDD आयात करें
Spark_app = SparkSession.builder.appName ( 'लिनक्स' .getOrCreate()
# 10 मानों के साथ एक RDD बनाएँ
बिल्डिंग_हाइट = स्पार्क_एप.स्पार्क कॉन्टेक्स्ट.समानांतर ([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
प्रिंट ( 'वास्तविक: ' ,बिल्डिंग_हाइट.कलेक्ट ())
# 3 बाल्टियाँ निर्दिष्ट करना
बिल्डिंग_हाइट.हिस्टोग्राम ( 3 )
आउटपुट:
- बकेट-1 की रेंज 12.0 से 86.223 तक होती है: इस रेंज में बकेट में मौजूद वैल्यू की कुल संख्या 5 होती है।
- बकेट-2 की रेंज 86.223 से 160.446 तक होती है: इस रेंज में बकेट में मौजूद वैल्यू की कुल संख्या 3 होती है।
- बकेट-3 रेंज 160.446 से 234.67 तक: इस रेंज में बकेट में मौजूद वैल्यू की कुल संख्या 2 है।
उदाहरण 2:
पहले बनाए गए RDD पर 2 बकेट के साथ एक हिस्टोग्राम बनाएं।
pyspark आयात करेंpyspark.sql से SparkSession आयात करें
pyspark.rdd से RDD आयात करें
Spark_app = SparkSession.builder.appName ( 'लिनक्स' .getOrCreate()
# 10 मानों के साथ एक RDD बनाएँ
बिल्डिंग_हाइट = स्पार्क_एप.स्पार्क कॉन्टेक्स्ट.समानांतर ([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
प्रिंट ( 'वास्तविक: ' ,बिल्डिंग_हाइट.कलेक्ट ())
# 2 बाल्टियाँ निर्दिष्ट करना
बिल्डिंग_हाइट.हिस्टोग्राम ( 2 )
आउटपुट:
- बकेट 1 की रेंज 12.0 से 123.335 के बीच है। इस श्रेणी में, बकेट में मौजूद मानों की कुल संख्या 8 है।
- बकेट 2 रेंज 123.335 से 234.67 तक: इस रेंज में, बकेट में मौजूद मानों की कुल संख्या 2 है।
प्रत्येक बकेट के आकार को निर्दिष्ट करके PySpark RDD पर प्लॉट हिस्टोग्राम
पिछले परिदृश्य में, हमने बकेट को RDD.histogram() फ़ंक्शन में पास किया था। अब, हम एक सूची के अंदर एक के बाद एक बाल्टी आकार पास करते हैं और इस सूची को इस फ़ंक्शन के पैरामीटर के रूप में पास करते हैं। सुनिश्चित करें कि हमें बढ़ते/बढ़ते क्रम में कम से कम दो बकेट निर्दिष्ट करने की आवश्यकता है और इसमें डुप्लिकेट मान नहीं होंगे।
वाक्य - विन्यास:
pyspark_RDD.histogram([बकेट रेंज...])इस परिदृश्य में, हम हिस्टोग्राम में शामिल बकेट (पूर्णांक) की संख्या पास करते हैं। यह उन सूचियों का टपल लौटाता है जिनमें बकेट रेंज और संबंधित मूल्य घटनाएँ निम्नलिखित प्रारूप में शामिल हैं: ([बकेट रेंज...], [वैल्यू रेक्वेंसेंस...])।
उदाहरण 1:
आइए 10 मानों के साथ 'बिल्डिंग_हाइट' नामक एक आरडीडी बनाएं और मानों की बकर श्रेणी [0, 50, 100, 150, 200, 250] के साथ एक हिस्टोग्राम बनाएं।
pyspark आयात करेंpyspark.sql से SparkSession आयात करें
pyspark.rdd से RDD आयात करें
Spark_app = SparkSession.builder.appName ( 'लिनक्स' .getOrCreate()
# 10 मानों के साथ एक RDD बनाएँ
बिल्डिंग_हाइट = स्पार्क_एप.स्पार्क कॉन्टेक्स्ट.समानांतर ([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
प्रिंट ( 'वास्तविक: ' ,बिल्डिंग_हाइट.कलेक्ट ())
# आकार के साथ बाल्टी निर्दिष्ट करना - [0,50,100,150,200,250]
बिल्डिंग_हाइट.हिस्टोग्राम ([ 0 , पचास , 100 , 150 , 200 , 250 ])
आउटपुट:
- बकेट 1: (0 से 50): इस बकेट में कुल मान 3 हैं।
- बकेट 1: (50 से 100): इस बकेट में कुल मान 2 हैं।
- बकेट 1: (100 से 150) : इस बकेट में कुल वैल्यू 2 हैं।
- बकेट 1: (150 से 200): इस बकेट में कुल वैल्यू 2 हैं।
- बकेट 1: (200 से 250): इस बकेट में कुल वैल्यू 2 हैं।
उदाहरण 2:
मानों की बकेट श्रेणी [0, 100, 200, 300] के साथ एक हिस्टोग्राम बनाएँ।
pyspark आयात करेंpyspark.sql से SparkSession आयात करें
pyspark.rdd से RDD आयात करें
Spark_app = SparkSession.builder.appName ( 'लिनक्स' .getOrCreate()
# 10 मानों के साथ एक RDD बनाएँ
बिल्डिंग_हाइट = स्पार्क_एप.स्पार्क कॉन्टेक्स्ट.समानांतर ([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
प्रिंट ( 'वास्तविक: ' ,बिल्डिंग_हाइट.कलेक्ट ())
# आकार के साथ बकेट निर्दिष्ट करना - [0,100,200,300]
बिल्डिंग_हाइट.हिस्टोग्राम ([ 0 , 100 , 200 , 300 ])
आउटपुट:
- बाल्टी 1: (0 से 100)। इस बकेट में कुल मान 5 है।
- बाल्टी 2: (100 से 200)। इस बकेट में कुल मान 3 है।
- बाल्टी 3: (200 से 300)। इस बकेट में कुल मान 2 है।
निष्कर्ष
हमने देखा है कि PySpark पांडा DataFrame और RDD पर PySpark में हिस्टोग्राम कैसे बनाया जाता है। हिस्टोग्राम () वह फ़ंक्शन है जिसका उपयोग RDD डेटा पर हिस्टोग्राम प्राप्त करने के लिए किया जाता है। प्लॉट.हिस्ट () का उपयोग PySpark पांडा डेटाफ़्रेम पर हिस्टोग्राम प्रदर्शित करने के लिए किया जाता है। हमने सभी मापदंडों को शामिल करते हुए उदाहरणों के साथ इन कार्यों पर चर्चा की।