हल: खस्ता रोलिंग

NumPy Python प्रोग्रामिंग की दुनिया में एक शक्तिशाली और व्यापक रूप से उपयोग की जाने वाली लाइब्रेरी है। यह इन सरणियों के साथ काम करने के लिए एक उच्च-प्रदर्शन बहुआयामी सरणी वस्तु और उपकरण प्रदान करता है। ऐसी ही एक विशेषता प्रदर्शन करने की क्षमता है रोलिंग विंडो गणना खस्ता पुस्तकालय का उपयोग करना। इस लेख में, हम खस्ता पुस्तकालय का उपयोग करके रोलिंग विंडो गणनाओं में तल्लीन करेंगे और इस तकनीक का उपयोग करके हल की जा सकने वाली समस्या का समाधान प्रस्तुत करेंगे। हम कोड की चरण-दर-चरण व्याख्या भी प्रदान करेंगे और इस प्रक्रिया में शामिल संबंधित पुस्तकालयों और कार्यों पर चर्चा करेंगे।

रोलिंग विंडो गणनाओं को समझना

रोलिंग विंडो गणना जैसे क्षेत्रों में डेटा का विश्लेषण करने के लिए एक सामान्य तरीका है वित्त, सिग्नल प्रोसेसिंग और मौसम विज्ञान. इस तकनीक के पीछे मुख्य विचार डेटा को निश्चित आकार के ओवरलैपिंग विंडो में विभाजित करना है, जो तब क्रमिक रूप से विश्लेषण किया जाता है। यह पैटर्न, प्रवृत्तियों और विसंगतियों का पता लगाने की अनुमति देता है जो संपूर्ण डेटासेट पर विचार करते समय दिखाई नहीं दे सकते हैं।

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

समाधान: रोलिंग विंडो गणना numpy का उपयोग कर

आइए एक समस्या पर विचार करें जहां हमारे पास डेटा की एक आयामी सुपीरियर सरणी है और हम दिए गए विंडो आकार के साथ रोलिंग माध्य की गणना करना चाहते हैं। इस समस्या को हल करने के लिए, हम एक ऐसे फ़ंक्शन को कार्यान्वित करेंगे जो इनपुट डेटा और विंडो आकार को तर्कों के रूप में लेता है और numpy का उपयोग करके रोलिंग माध्य देता है। यहाँ समाधान के लिए कोड है:

आयात एनपीपी के रूप में सुन्न

डीईएफ़ रोलिंग_मीन (डेटा, विंडो_साइज़):
यदि विंडो_साइज़ <= 0: रेज़ वैल्यूएरर ("विंडो का आकार 0 से अधिक होना चाहिए") कमसम = np.cumsum (डेटा) कमसम [विंडो_साइज़:] = कमसम [:-विंडो_साइज़] + डेटा [विंडो_साइज़-1:] - डेटा [ :-window_size] रिटर्न कमसम [window_size - 1:] / window_size [/code]

कोड की चरण-दर-चरण व्याख्या

1. सबसे पहले, हम खस्ता पुस्तकालय को np के रूप में आयात करते हैं, जो कि पायथन समुदाय में एक मानक सम्मेलन है।

2. फिर हम Rolling_mean फ़ंक्शन को परिभाषित करते हैं, जिसमें दो तर्क होते हैं: इनपुट डेटा और विंडो का आकार। इनपुट डेटा एक आयामी संख्यात्मक सरणी होने की उम्मीद है, और विंडो का आकार 0 से अधिक पूर्णांक है।

3. अगला, हम जाँचते हैं कि क्या विंडो का आकार 0 से अधिक है। यदि ऐसा नहीं है, तो हम उपयुक्त संदेश के साथ एक ValueError रेज़ करते हैं।

4. हम संख्यात्मक कमसम फ़ंक्शन का उपयोग करके इनपुट डेटा के संचयी योग की गणना करते हैं, जो किसी दिए गए अक्ष के साथ तत्वों के संचयी योग की गणना करता है।

5. मुख्य गणना निम्न पंक्ति में होती है, जहां हम विंडो आकार के अनुरूप उपयुक्त तत्वों को घटाकर और जोड़कर संचयी योग सरणी को अपडेट करते हैं। लूप या सूची समझ का उपयोग करने की तुलना में यह एक अधिक कुशल दृष्टिकोण है क्योंकि numpy संचालन सदिश और प्रदर्शन के लिए अनुकूलित हैं।

6. अंत में, हम 'window_size - 1' इंडेक्स से शुरू करते हुए, विंडो के आकार से अद्यतन संचयी योग सरणी को विभाजित करके रोलिंग माध्य लौटाते हैं।

Rolling_mean फ़ंक्शन का उपयोग अब किसी भी एक-आयामी सुपीरियर सरणी पर रोलिंग विंडो गणना करने के लिए किया जा सकता है।

समान पुस्तकालय और कार्य

  • पांडा: पायथन में डेटा हेरफेर और विश्लेषण के लिए यह लोकप्रिय पुस्तकालय एक अंतर्निहित रोलिंग विधि प्रदान करता है जो पांडा डेटाफ़्रेम और श्रृंखला वस्तुओं पर विंडो गणना की प्रक्रिया को सरल करता है।
  • साइपी: SciPy लाइब्रेरी, जो numpy पर निर्मित होती है, सिग्नल प्रोसेसिंग के लिए अतिरिक्त फ़ंक्शन प्रदान करती है, जैसे किसी दिए गए विंडो आकार के साथ मूविंग एवरेज करने के लिए यूनिफ़ॉर्म_फ़िल्टर फ़ंक्शन।

अंत में, numpy रोलिंग विंडो गणनाओं के कुशल और बहुमुखी कार्यान्वयन की अनुमति देता है। मुख्य अवधारणाओं और तकनीकों को समझकर, कोई भी अपने डेटा का बेहतर विश्लेषण कर सकता है और छिपे हुए पैटर्न और प्रवृत्तियों को उजागर कर सकता है। इसके अलावा, पांडा और SciPy से समान पुस्तकालयों और कार्यों का लाभ उठाने से पायथन में विंडो विश्लेषण की क्षमताओं को और बढ़ाया जा सकता है।

संबंधित पोस्ट:

एक टिप्पणी छोड़ दो