पांडा: अंतर के साथ ग्रुपबी का उपयोग कैसे करें


आप पांडा में diff() फ़ंक्शन के साथ ग्रुपबी() फ़ंक्शन का उपयोग करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 df = df. sort_values (by=[' group_var1 ', ' group_var2 '])

df[' diff '] = df. groupby ([' group_var1 '])[' values_var ']. diff (). fillna ( 0 )

यह विशेष उदाहरण डेटाफ़्रेम की पंक्तियों को दो विशिष्ट चरों के आधार पर क्रमबद्ध करता है, फिर उन्हें समूह_var1 द्वारा समूहित करता है और values_var कॉलम में पंक्तियों के बीच अंतर की गणना करता है।

ध्यान दें कि जब भी डेटाफ़्रेम में लगातार पंक्तियों के बीच समूह चर का मान बदलता है तो fillna(0) पांडा को शून्य डालने के लिए कहता है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: पांडा में अंतर के साथ ग्रुपबी का उपयोग कैसे करें

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' date ': pd. to_datetime (['2022-01-01', '2022-01-02',
                                           '2022-01-03', '2022-01-04',
                                           '2022-01-01', '2022-01-02',
                                           '2022-01-03', '2022-01-04']),
                   ' sales ': [12, 15, 24, 24, 14, 19, 12, 38]})

#view DataFrame
print (df)

  blind date sales
0 A 2022-01-01 12
1 A 2022-01-02 15
2 A 2022-01-03 24
3 A 2022-01-04 24
4 B 2022-01-01 14
5 B 2022-01-02 19
6 B 2022-01-03 12
7 B 2022-01-04 38

अब मान लें कि हम sales_diff नामक एक नया कॉलम बनाना चाहते हैं जिसमें स्टोर द्वारा समूहीकृत लगातार तिथियों के बीच बिक्री मूल्यों में अंतर शामिल है।

ऐसा करने के लिए हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #sort DataFrame by store and date
df = df. sort_values (by=[' store ', ' date '])

#create new column that contains difference between sales grouped by store
df[' sales_diff '] = df. groupby ([' store '])[' sales ']. diff (). fillna ( 0 )

#view update DataFrame
print (df)

  store date sales sales_diff
0 A 2022-01-01 12 0.0
1 A 2022-01-02 15 3.0
2 A 2022-01-03 24 9.0
3 A 2022-01-04 24 0.0
4 B 2022-01-01 14 0.0
5 B 2022-01-02 19 5.0
6 B 2022-01-03 12 -7.0
7 B 2022-01-04 38 26.0

नए sales_diff कॉलम में स्टोर द्वारा समूहीकृत, लगातार तिथियों के बीच बिक्री मूल्यों में अंतर होता है।

उदाहरण के लिए, हम देख सकते हैं:

  • 1/1/2022 और 2/1/2022 के बीच स्टोर ए की बिक्री में अंतर 3 है।
  • 02/01/2022 और 03/01/2022 के बीच स्टोर ए की बिक्री में अंतर 9 है।
  • 1/3/2022 और 1/4/2022 के बीच स्टोर ए की बिक्री में अंतर 0 है।

और इसी तरह।

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

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:

पंडों में ग्रुपबाय योग कैसे निष्पादित करें
पंडों में ग्रुपबी और प्लॉट का उपयोग कैसे करें
पांडा में GroupBy का उपयोग करके अद्वितीय मानों की गणना कैसे करें

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

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