पांडा डेटा विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है, और एक बारंबार कार्य DataFrame में मानों की आवृत्ति का निर्धारण करना शामिल है। यह लेख मान आवृत्तियों की गणना के लिए तीन कुशल विधियों का पता लगाता है: value_counts()
, groupby().size()
, और groupby().count()
। हम प्रत्येक विधि की जांच करेंगे, उनकी ताकत और कमजोरियों को उजागर करेंगे, और स्पष्ट उदाहरण प्रदान करेंगे।
विषयवस्तु की तालिका
Series.value_counts()
विधि
value_counts()
विधि एकल स्तंभ (श्रृंखला) के भीतर मानों की आवृत्ति की गणना करने का सबसे सरल और सबसे कुशल तरीका है। यह एक श्रृंखला देता है जहाँ सूचकांक अद्वितीय मानों का प्रतिनिधित्व करता है और मान उनकी गणना का प्रतिनिधित्व करते हैं, डिफ़ॉल्ट रूप से अवरोही क्रम में क्रमबद्ध होते हैं। यह आदर्श है जब आपको किसी विशिष्ट कॉलम में व्यक्तिगत मानों की आवृत्ति की आवश्यकता होती है।
import pandas as pd
data = {'Category': ['A', 'A', 'B', 'B', 'A', 'C', 'A']}
df = pd.DataFrame(data)
category_counts = df['Category'].value_counts()
print(category_counts)
आउटपुट:
A 4
B 2
C 1
Name: Category, dtype: int64
df.groupby().size()
विधि
groupby().size()
विधि DataFrame को समूहीकृत करने के बाद प्रत्येक समूह (पंक्तियों की संख्या) का आकार प्रदान करती है। groupby().count()
के विपरीत, यह अन्य कॉलम में लापता मानों से प्रभावित नहीं होता है; यह केवल प्रत्येक समूह के भीतर पंक्तियों की गणना करता है। यह समूह की घटनाओं की सीधी गणना प्राप्त करने के लिए एकदम सही है।
import pandas as pd
data = {'Category': ['A', 'A', 'B', 'B', 'A', 'C'],
'Value': [1, 2, 1, 1, 2, 3]}
df = pd.DataFrame(data)
category_counts = df.groupby('Category').size()
print(category_counts)
आउटपुट:
Category
A 3
B 2
C 1
dtype: int64
df.groupby().count()
विधि
groupby().count()
विधि बहुमुखी है, जिससे आप कई कॉलम में आवृत्तियों की गणना कर सकते हैं। यह DataFrame को समूहीकृत करता है और फिर *सभी* कॉलम के लिए प्रत्येक समूह के भीतर गैर-रिक्त मानों की गणना करता है। इसका मतलब है कि लापता डेटा गणना को प्रभावित करेगा। इस विधि का उपयोग तब करें जब आपको कई कॉलम में गणना की आवश्यकता हो, लेकिन लापता डेटा के संभावित प्रभाव के प्रति सचेत रहें।
import pandas as pd
data = {'Category': ['A', 'A', 'B', 'B', 'A', 'C'],
'Value': [1, 2, 1, 1, 2, 3],
'Value2': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# सभी कॉलम में 'Category' की घटनाओं की गणना करें
category_counts = df.groupby('Category').count()
print(category_counts)
#एकल कॉलम पर ध्यान केंद्रित करना
category_counts_value = df.groupby('Category')['Value'].count()
print(category_counts_value)
आउटपुट:
Value Value2
Category
A 3 3
B 2 2
C 1 1
Category
A 3
B 2
C 1
Name: Value, dtype: int64
संक्षेप में, सबसे अच्छी विधि आपकी विशिष्ट आवश्यकताओं पर निर्भर करती है। value_counts()
एकल कॉलम के लिए सबसे अच्छा है, सरल समूह गणना के लिए groupby().size()
, और कई कॉलम को शामिल करने वाले अधिक जटिल परिदृश्यों के लिए groupby().count()
, लेकिन लापता मानों के सावधानीपूर्वक संचालन की आवश्यकता होती है।