पांडा डेटा हेरफेर और विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है। इसकी सबसे अधिक उपयोग की जाने वाली विशेषताओं में से एक डेटा को समूहीकृत करने और समुच्चय गणना करने की क्षमता है। यह लेख groupby()
विधि का उपयोग करके डेटा को समूहीकृत करने के बाद कुशलतापूर्वक समुच्चय योगों की गणना करने के विभिन्न तरीकों का पता लगाता है, जो विभिन्न जटिलता स्तरों और वांछित आउटपुट स्वरूपों के लिए समाधान प्रदान करता है।
विषयवस्तु की तालिका:
groupby()
के साथ मूल योगagg()
के साथ एकाधिक समुच्चयapply()
के साथ कस्टम समुच्चयgroupby()
औरcumsum()
के साथ संचयी योगpivot_table()
के साथ डेटा को नया आकार देना
groupby()
के साथ मूल योग
समूहीकरण के बाद किसी कॉलम के योग की गणना करने का सबसे सरल तरीका सीधे sum()
विधि के साथ groupby()
का उपयोग करना है:
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Value': [10, 20, 15, 5, 25, 30]}
df = pd.DataFrame(data)
# 'Group' द्वारा समूहीकृत करें और 'Value' का योग करें
grouped_sum = df.groupby('Group')['Value'].sum()
print(grouped_sum)
यह संक्षेप में प्रत्येक समूह के लिए ‘Value’ के योग के साथ एक सीरीज़ उत्पन्न करता है।
agg()
के साथ एकाधिक समुच्चय
agg()
विधि एक साथ कई समुच्चय सांख्यिकीयों की कुशल गणना की अनुमति देती है। यह तब विशेष रूप से उपयोगी होता है जब आपको केवल योग से अधिक की आवश्यकता होती है:
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Value': [10, 20, 15, 5, 25, 30]}
df = pd.DataFrame(data)
# प्रत्येक समूह के लिए योग, माध्य और गणना की गणना करें
aggregated = df.groupby('Group')['Value'].agg(['sum', 'mean', 'count'])
print(aggregated)
कोड की यह एकल पंक्ति प्रत्येक समूह के लिए ‘Value’ का योग, माध्य और गणना की गणना करती है, जिसके परिणामस्वरूप एक DataFrame बनता है।
apply()
के साथ कस्टम समुच्चय
कस्टम समुच्चय तर्क की आवश्यकता वाले अधिक जटिल परिदृश्यों के लिए, apply()
विधि अधिकतम लचीलापन प्रदान करती है। आप कोई भी वांछित गणना करने के लिए एक फ़ंक्शन परिभाषित कर सकते हैं:
import pandas as pd
import numpy as np
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Value': [10, 20, 15, 5, 25, 30]}
df = pd.DataFrame(data)
def custom_agg(x):
return pd.Series({'sum': x.sum(), 'range': x.max() - x.min()})
# कस्टम समुच्चय फ़ंक्शन लागू करें
result = df.groupby('Group')['Value'].apply(custom_agg).reset_index()
print(result)
यहाँ, एक कस्टम फ़ंक्शन प्रत्येक समूह के लिए योग और सीमा दोनों की गणना करता है।
groupby()
और cumsum()
के साथ संचयी योग
प्रत्येक समूह के भीतर संचयी योग प्राप्त करने के लिए, cumsum()
विधि के साथ groupby()
को मिलाएं:
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Value': [10, 20, 15, 5, 25, 30]}
df = pd.DataFrame(data)
# प्रत्येक समूह के लिए संचयी योग की गणना करें
df['Cumulative Sum'] = df.groupby('Group')['Value'].cumsum()
print(df)
यह प्रत्येक समूह के भीतर चल रहे योग को दर्शाता हुआ एक नया कॉलम जोड़ता है।
pivot_table()
के साथ डेटा को नया आकार देना
समुच्चय डेटा के अधिक आकर्षक और आसानी से विश्लेषण योग्य प्रतिनिधित्व के लिए, विशेष रूप से कई समूहीकरण चर से निपटने पर, pivot_table()
का उपयोग करें:
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Category': ['X', 'Y', 'X', 'Y', 'Z', 'X'],
'Value': [10, 20, 15, 5, 25, 30]}
df = pd.DataFrame(data)
pivot_table = pd.pivot_table(df, values='Value', index='Group', columns='Category', aggfunc='sum', fill_value=0)
print(pivot_table)
यह डेटा को सारांशित करते हुए एक पिवट टेबल बनाता है, जिससे प्रत्येक समूह के भीतर विभिन्न श्रेणियों में योगों की तुलना करना आसान हो जाता है।