Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Pandas में groupby() और sum() से समूहवार योग निकालना

Pandas में groupby() के साथ sum() का उपयोग करके किसी कॉलम के आधार पर ग्रुप बनाकर अन्य संख्यात्मक कॉलम का योग निकाला जा सकता है।

बुनियादी सिंटैक्स

df.groupby('group_column')['target_column'].sum()
# या सभी संख्यात्मक कॉलम के लिए
df.groupby('group_column').sum()

उदाहरण

import pandas as pd

df = pd.DataFrame({
    "Apple": [5, 2, 7, 0],
    "Banana": [4, 7, 5, 1],
    "Carrot": [9, 3, 5, 1]
})

print("Input DataFrame:\n", df)

# 'Apple' कॉलम के अनुसार ग्रुप बनाकर योग
g_sum = df.groupby('Apple').sum()
print("\nApple द्वारा ग्रुप योग:\n", g_sum)

# विशिष्ट कॉलम का योग
banana_sum = df.groupby('Apple')['Banana'].sum()
print("\nApple द्वारा Banana का योग:\n", banana_sum)

आउटपुट

Input DataFrame:
   Apple  Banana  Carrot
0      5       4       9
1      2       7       3
2      7       5       5
3      0       1       1

Apple द्वारा ग्रुप योग:
      Banana  Carrot
Apple
0          1       1
2          7       3
5          4       9
7          5       5

व्यावहारिक उदाहरण: बिक्री डेटा

sales = pd.DataFrame({
    'region': ['North', 'South', 'North', 'East', 'South', 'West', 'North'],
    'product': ['A', 'B', 'A', 'C', 'B', 'A', 'C'],
    'sales': [100, 200, 150, 300, 250, 400, 200],
    'quantity': [10, 20, 15, 30, 25, 40, 20]
})

print("बिक्री डेटा:\n", sales)

# क्षेत्रवार कुल बिक्री
region_sales = sales.groupby('region')['sales'].sum()
print("\nक्षेत्रवार कुल बिक्री:\n", region_sales)

# क्षेत्र और उत्पाद दोनों द्वारा ग्रुपिंग
region_product = sales.groupby(['region', 'product']).agg({
    'sales': 'sum',
    'quantity': 'sum'
})
print("\nक्षेत्र और उत्पादवार बिक्री:\n", region_product)

# एकाधिक एग्रीगेशन फंक्शन्स
multi_agg = sales.groupby('region').agg({
    'sales': ['sum', 'mean', 'count'],
    'quantity': ['sum', 'mean']
})
print("\nएकाधिक एग्रीगेशन:\n", multi_agg)

आउटपुट

क्षेत्रवार कुल बिक्री:
region
East     300
North    450
South    450
West     400
Name: sales, dtype: int64

क्षेत्र और उत्पादवार बिक्री:
               sales  quantity
region product
East   C       300        30
North  A       250        25
       C       200        20
South  B       450        45
West   A       400        40

एकाधिक एग्रीगेशन:
      sales           quantity
      sum mean count  sum mean
region
East    300  300     1   30  30.0
North   450  150     3   45  15.0
South   450  225     2   45  22.5
West    400  400     1   40  40.0

महत्वपूर्ण पैरामीटर्स

पैरामीटरविवरण
as_index=Trueग्रुपिंग कॉलम को इंडेक्स बनाएं (डिफ़ॉल्ट)
as_index=Falseग्रुपिंग कॉलम को सामान्य कॉलम रखें
sort=Trueग्रुप कुंजियों को सॉर्ट करें (डिफ़ॉल्ट)
sort=Falseमूल क्रम बनाए रखें

as_index=False का उदाहरण

# as_index=False - परिणाम में 'region' कॉलम के रूप में रहता है
result = sales.groupby('region', as_index=False)['sales'].sum()
print(result)
print(type(result))  # DataFrame (नहीं Series)

अतिरिक्त: transform() का उपयोग

यदि आप मूल DataFrame की लंबाई बनाए रखते हुए ग्रुप योग चाहते हैं:

# प्रत्येक पंक्ति के लिए उसके क्षेत्र का कुल बिक्री
sales['region_total_sales'] = sales.groupby('region')['sales'].transform('sum')
print(sales)
  1. पायथन में पथ योग पायथन में पथ योग

    मान लीजिए हमारे पास एक ट्री और एक योग है। हमें एक ऐसा पथ ढूंढना है जिससे यदि हम उस पथ का अनुसरण करें, तो हमें वह योग मिलेगा जो दिए गए योग से मेल खाता हो। मान लीजिए ट्री [0,-3,9,-10, null,5] जैसा है और योग 14 है, तो एक पथ 0 → 9 → 5 है। हल करने के चरण यदि रूट null है, तो False वापस करें यदि बायां औ

  1. पायथन में डेटा विश्लेषण और विज़ुअलाइज़ेशन पायथन में डेटा विश्लेषण और विज़ुअलाइज़ेशन

    पायथन डेटा विश्लेषण और विज़ुअलाइज़ेशन के लिए कई लाइब्रेरी प्रदान करता है मुख्य रूप से numpy, pandas, matplotlib, seaborn आदि। इस खंड में, हम डेटा विश्लेषण और विज़ुअलाइज़ेशन के लिए pandas लाइब्रेरी पर चर्चा करने जा रहे हैं जो numpy के ऊपर बनी एक ओपन सोर्स लाइब्रेरी है। यह हमें तेजी से विश्लेषण और डे

  1. - पायथन में मैप फंक्शन और डिक्शनरी का उपयोग करके ASCII मानों का योग

    समस्या विवरण हम एक वाक्य में प्रत्येक शब्द के लिए ASCII योग और पूरे वाक्य के लिए ASCII योग की गणना मैप फंक्शन और डिक्शनरी का उपयोग करके करना चाहते हैं। उदाहरण के लिए, यदि हमारे पास वाक्य है: hi people of the world शब्दों के लिए संबंधित ASCII योग होंगे: 209 645 213 321 552 और उनका कुल योग होगा: 1940