पांडा: ग्रुपबी के साथ समय श्रृंखला का पुन: नमूनाकरण कैसे करें()


समय श्रृंखला डेटा का पुन: नमूनाकरण करने का अर्थ है एक नई अवधि में डेटा एकत्र करना।

यदि आप ग्रुपबाय ऑपरेटर का उपयोग करके पांडा में एक समय श्रृंखला को फिर से नमूना देना चाहते हैं, तो आप निम्नलिखित मूल वाक्यविन्यास का उपयोग कर सकते हैं:

 group = df. groupby ([pd. Group (freq=' W '), ' store '])

result = group[' sales ']. sum (). unstack (' store '). fillna (0) 

यह विशेष उदाहरण डेटाफ़्रेम की पंक्तियों को स्टोर कॉलम के अनुसार समूहित करता है, फिर सप्ताह के अनुसार समय श्रृंखला को फिर से नमूना देता है ( freq=’W’ ), फिर बिक्री कॉलम में मानों के योग की गणना करता है।

ध्यान दें कि हम समय श्रृंखला डेटा को अलग-अलग समयावधियों में पुन: नमूना कर सकते हैं, जिनमें शामिल हैं:

  • एस : सेकंड
  • मिनट : मिनट
  • एच : घंटे
  • जे :दिन
  • डब्ल्यू : सप्ताह
  • : महीना
  • प्रश्न : तिमाही
  • : वर्ष

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में ग्रुपबाय ऑपरेशन के साथ समय श्रृंखला डेटा का पुन: नमूनाकरण कैसे किया जाए।

उदाहरण: पांडा में ग्रुपबी के साथ एक समय श्रृंखला का पुन: नमूनाकरण करें

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' sales ': [13, 14, 17, 17, 16, 22, 28, 10, 17, 10, 11],
                   ' store ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B']} ,
                   index=pd. date_range ('2023-01-06', '2023-01-16', freq='d'))

#view DataFrame
print (df)

            sales store
2023-01-06 13 A
2023-01-07 14 A
2023-01-08 17 A
2023-01-09 17 A
2023-01-10 16A
2023-01-11 22 B
2023-01-12 28 B
2023-01-13 10 B
2023-01-14 17 B
2023-01-15 10 B
2023-01-16 11 B

मान लीजिए कि हम पंक्तियों को स्टोर के आधार पर समूहित करना चाहते हैं, फिर सप्ताह के अनुसार समय श्रृंखला को फिर से नमूना करना चाहते हैं, फिर बिक्री कॉलम में मूल्यों के योग की गणना करना चाहते हैं।

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

 #group by store and resample time series by week
group = df. groupby ([pd. Group (freq=' W '), ' store '])

#calculate sum of sales each week by store
result = group[' sales ']. sum (). unstack (' store '). fillna (0)

#view results
print (result)

store AB
2023-01-08 14.0 0.0
2023-01-15 16.5 17.0
2023-01-22 0.0 11.0

परिणाम से हम देख सकते हैं:

  • स्टोर A में 01/08/2023 को समाप्त सप्ताह के लिए बिक्री का योग 14 है।
  • स्टोर बी में 01/08/2023 को समाप्त सप्ताह के लिए बिक्री का योग 0 है।

और इसी तरह।

ध्यान दें कि इस उदाहरण में हमने बिक्री कॉलम में मूल्यों के योग की गणना करना चुना है।

हालाँकि, हम अन्य मैट्रिक्स जैसे गिनती, औसत, माध्यिका, न्यूनतम, अधिकतम आदि चुन सकते हैं।

बस उपरोक्त कोड में sum() को count() , Mean() , Median() आदि से बदलें। अपनी पसंद की मीट्रिक की गणना करने के लिए।

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

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

मैटप्लॉटलिब में टाइम सीरीज़ कैसे प्लॉट करें
सीबॉर्न में टाइम सीरीज़ कैसे प्लॉट करें
पायथन में समय श्रृंखला से एमएपीई की गणना कैसे करें

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

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