पंडों में समूह द्वारा हिस्टोग्राम कैसे बनाएं


आप पांडा डेटाफ़्रेम में समूह द्वारा हिस्टोग्राम प्लॉट करने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:

विधि 1: एकाधिक प्लॉट का उपयोग करके समूह द्वारा हिस्टोग्राम प्लॉट करें

 df[' values_var ']. hist (by=df[' group_var '])

विधि 2: एकल प्लॉट का उपयोग करके समूह द्वारा हिस्टोग्राम प्लॉट करें

 plt. hist (group1, alpha= 0.5 , label=' group1 ')
plt. hist (group2, alpha= 0.5 , label=' group2 ')
plt. hist (group3, alpha= 0.5 , label=' group3 ')

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ अभ्यास में प्रत्येक पद्धति का उपयोग कैसे किया जाए जो तीन अलग-अलग टीमों के बास्केटबॉल खिलाड़ियों द्वारा बनाए गए अंक दिखाता है:

 import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#createDataFrame
df = pd. DataFrame ({' team ': np.repeat ([' A ',' B ',' C '], 100 ),
                   ' points ': np. random . normal (loc= 20 , scale= 2 , size= 300 )})

#view head of DataFrame
print ( df.head ())

  team points
0 A 23.248691
1 A 18.776487
2 A 18.943656
3 A 17.854063
4 A 21.730815

उदाहरण 1: एकाधिक प्लॉट का उपयोग करके समूह द्वारा हिस्टोग्राम प्लॉट करें

निम्नलिखित कोड दिखाता है कि तीन टीमों में से प्रत्येक के खिलाड़ियों द्वारा बनाए गए अंकों के वितरण को प्रदर्शित करने वाले तीन हिस्टोग्राम कैसे बनाएं:

 #create histograms of points by team
df[' points ']. hist (by=df[' team '])

हम प्रत्येक हिस्टोग्राम में किनारे की रेखाएं जोड़ने के लिए एजकलर तर्क का भी उपयोग कर सकते हैं और प्रत्येक हिस्टोग्राम के आकार को बढ़ाने के लिए फिग्साइज तर्क का उपयोग कर सकते हैं ताकि उन्हें कल्पना करना आसान हो सके:

 #create histograms of points by team
df[' points ']. hist (by=df[' team '], edgecolor=' black ', figsize = ( 8 , 6 )) 

उदाहरण 2: एकल प्लॉट का उपयोग करके समूह द्वारा हिस्टोग्राम प्लॉट करें

निम्नलिखित कोड दिखाता है कि तीन हिस्टोग्राम कैसे बनाएं और उन सभी को एक ही प्लॉट पर कैसे रखें:

 import matplotlib.pyplot as plt

#define points values by group
A = df. loc [df[' team '] == ' A ', ' points ']
B = df. loc [df[' team '] == ' B ', ' points ']
C = df. loc [df[' team '] == ' C ', ' points ']

#add three histograms to one plot
plt. hist (A, alpha= 0.5 , label=' A ')
plt. hist (B, alpha= 0.5 , label=' B ')
plt. hist (C, alpha= 0.5 , label=' C ')

#add plot title and axis labels
plt. title (' Points Distribution by Team ')
plt. xlabel (' Points ')
plt. ylabel (' Frequency ')

#add legend
plt. legend (title=' Team ')

#displayplot
plt. show ()

अंतिम परिणाम एक प्लॉट है जिसमें तीन हिस्टोग्राम एक दूसरे के ऊपर रखे हुए प्रदर्शित होते हैं।

नोट : अल्फ़ा तर्क प्रत्येक हिस्टोग्राम की पारदर्शिता निर्दिष्ट करता है। यह मान 0 से 1 तक हो सकता है। इस मान को 0.5 के बराबर सेट करके, हम प्रत्येक ओवरलेड हिस्टोग्राम को बेहतर ढंग से देख सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य प्लॉट कैसे बनाएं:

Matplotlib में एकाधिक पंक्तियाँ कैसे प्लॉट करें
पांडास डेटाफ़्रेम से बॉक्सप्लॉट कैसे बनाएं
एक बार चार्ट पर एकाधिक पांडा कॉलम कैसे प्लॉट करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *