पांडा: प्रति समूह चलती औसत की गणना कैसे करें


आप पांडा के लिए समूह चलती औसत की गणना करने के लिए निम्नलिखित मूल वाक्यविन्यास का उपयोग कर सकते हैं:

 #calculate 3-period moving average of 'values' by 'group'
df. groupby (' group ')[' values ']. transform ( lambda x: x.rolling (3,1) .mean ())

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

उदाहरण: पांडा में समूह द्वारा चलती औसत की गणना करें

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' period ': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
                   ' sales ': [7, 7, 9, 13, 14, 13, 13, 19, 20, 26]})

#view DataFrame
df

	store period sales
0 to 1 7
1 to 2 7
2 to 3 9
3 to 4 13
4 to 5 14
5 B 1 13
6 B 2 13
7 B 3 19
8 B 4 20
9 B 5 26

हम प्रत्येक स्टोर के लिए 3-दिवसीय रोलिंग बिक्री औसत की गणना करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

 #calculate 3-day moving average of sales by store
df[' ma '] = df. groupby (' store ')[' sales ']. transform ( lambda x: x.rolling (3,1) .mean ())

#view updated DataFrame
df

        store period sales ma
0 A 1 7 7.000000
1 to 2 7 7.000000
2 A 3 9 7.666667
3 A 4 13 9.666667
4 A 5 14 12.000000
5 B 1 13 13.000000
6 B 2 13 13.000000
7 B 3 19 15.000000
8 B 4 20 17.333333
9 B 5 26 21.666667

ध्यान दें : x.रोलिंग(3,1) का अर्थ है 3 अवधियों में रोलिंग औसत की गणना करना और अवधियों की न्यूनतम संख्या के रूप में 1 की आवश्यकता होती है।

“मेरा” कॉलम प्रत्येक स्टोर के लिए 3-दिवसीय चलती बिक्री औसत प्रदर्शित करता है।

एक अलग चलती औसत की गणना करने के लिए, बस रोलिंग() फ़ंक्शन में मान बदलें।

उदाहरण के लिए, हम इसके बजाय प्रत्येक स्टोर के लिए बिक्री की 2-दिवसीय चलती औसत की गणना कर सकते हैं:

 #calculate 2-day moving average of sales by store
df[' ma '] = df. groupby (' store ')[' sales ']. transform ( lambda x: x.rolling (2,1) .mean ())

#view updated DataFrame
df

        store period sales ma
0 to 1 7 7.0
1 to 2 7 7.0
2 to 3 9 8.0
3 A 4 13 11.0
4 to 5 14 13.5
5 B 1 13 13.0
6 B 2 13 13.0
7 B 3 19 16.0
8 B 4 20 19.5
9 B 5 26 23.0

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

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

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

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

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