Data Analysis

पांडा GroupBy और समुच्चयन में महारथ: एक व्यापक गाइड

Spread the love

पांडा डेटा हेरफेर और विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है। इसकी सबसे अधिक उपयोग की जाने वाली विशेषताओं में से एक डेटा को समूहीकृत करने और समुच्चय गणना करने की क्षमता है। यह लेख groupby() विधि का उपयोग करके डेटा को समूहीकृत करने के बाद कुशलतापूर्वक समुच्चय योगों की गणना करने के विभिन्न तरीकों का पता लगाता है, जो विभिन्न जटिलता स्तरों और वांछित आउटपुट स्वरूपों के लिए समाधान प्रदान करता है।

विषयवस्तु की तालिका:

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)

यह डेटा को सारांशित करते हुए एक पिवट टेबल बनाता है, जिससे प्रत्येक समूह के भीतर विभिन्न श्रेणियों में योगों की तुलना करना आसान हो जाता है।

प्रातिक्रिया दे

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