pandas 0.23 - DataFrame.rolling()

pandas.DataFrame.rolling




pandas

pandas.DataFrame.rolling

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None) [source]

रोलिंग विंडो गणना प्रदान करता है।

संस्करण में नया 0.18.0।

पैरामीटर:

खिड़की : int, या ऑफसेट

चलती खिड़की का आकार। यह आँकड़ों की गणना के लिए उपयोग की जाने वाली टिप्पणियों की संख्या है। प्रत्येक विंडो एक निश्चित आकार की होगी।

यदि इसकी भरपाई होती है तो यह प्रत्येक विंडो की समयावधि होगी। प्रत्येक विंडो समय-अवधि में शामिल टिप्पणियों के आधार पर एक चर आकार होगी। यह केवल डेटाेटिमलाइक इंडेक्स के लिए मान्य है। यह 0.19.0 में नया है

min_periods : int, डिफ़ॉल्ट कोई नहीं

मान के लिए आवश्यक विंडो में टिप्पणियों की न्यूनतम संख्या (अन्यथा परिणाम एनए है)। किसी ऑफसेट द्वारा निर्दिष्ट विंडो के लिए, यह 1 के लिए डिफ़ॉल्ट होगा।

केंद्र : बूलियन, डिफ़ॉल्ट गलत

विंडो के केंद्र में लेबल सेट करें।

win_type : string, default कोई नहीं

एक खिड़की प्रकार प्रदान करें। यदि None , तो सभी बिंदु समान रूप से भारित होते हैं। अधिक जानकारी के लिए नीचे दिए गए नोट्स देखें।

पर : स्ट्रिंग, वैकल्पिक

एक DataFrame के लिए, जिस पर इंडेक्स के बजाय रोलिंग विंडो की गणना करना है

बंद : स्ट्रिंग, डिफ़ॉल्ट कोई नहीं

अंतराल को 'दाएं', 'बाएं', 'दोनों' या 'न' अंत बिंदुओं पर बंद करें। ऑफसेट-आधारित विंडो के लिए, यह 'सही' के लिए डिफॉल्ट करता है। तय खिड़कियों के लिए, 'दोनों' के लिए चूक। शेष मामलों को तय खिड़कियों के लिए लागू नहीं किया गया।

संस्करण में नया 0.20.0।

axis : int or string, default 0
यह दिखाता है:
एक विंडो या रोलिंग विशेष ऑपरेशन के लिए उप-वर्गीकृत

यह भी देखें

expanding
परिवर्तन का विस्तार प्रदान करता है।
ewm
घातीय भारित कार्य प्रदान करता है

टिप्पणियाँ

डिफ़ॉल्ट रूप से, परिणाम विंडो के दाहिने किनारे पर सेट है। यह center=True सेट करके विंडो के केंद्र में बदला जा सकता है।

ऑफ़सेट्स और फ़्रीक्वेंसी स्ट्रिंग्स के बारे में अधिक जानने के लिए, कृपया इस लिंक को देखें।

मान्यता प्राप्त win_types हैं:

  • boxcar
  • triang
  • blackman
  • hamming
  • bartlett
  • parzen
  • bohman
  • blackmanharris
  • nuttall
  • barthann
  • kaiser (बीटा की आवश्यकता है)
  • gaussian (std की जरूरत है)
  • general_gaussian (बिजली की जरूरत, चौड़ाई)
  • slepian (चौड़ाई की जरूरत है)।

अगर win_type=None अंक समान रूप से भारित नहीं हैं। विभिन्न विंडो प्रकारों के बारे में अधिक जानने के लिए scipy.signal विंडो फ़ंक्शन देखें।

उदाहरण

>>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})
>>> df
     B
0  0.0
1  1.0
2  2.0
3  NaN
4  4.0

2 की खिड़की की लंबाई के साथ रोलिंग योग, 'त्रिकोणीय' विंडो प्रकार का उपयोग करते हुए।

>>> df.rolling(2, win_type='triang').sum()
     B
0  NaN
1  1.0
2  2.5
3  NaN
4  NaN

2 की विंडो लंबाई के साथ रोलिंग योग, min_periods विंडो की लंबाई के लिए चूक।

>>> df.rolling(2).sum()
     B
0  NaN
1  1.0
2  3.0
3  NaN
4  NaN

ऊपर के समान, लेकिन स्पष्ट रूप से min_periods सेट करें

>>> df.rolling(2, min_periods=1).sum()
     B
0  0.0
1  1.0
2  3.0
3  2.0
4  4.0

एक रैग्ड (जिसका अर्थ है-नियमित आवृत्ति नहीं), टाइम-इंडेक्सड डेटाफ़्रेम

>>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]},
...                   index = [pd.Timestamp('20130101 09:00:00'),
...                            pd.Timestamp('20130101 09:00:02'),
...                            pd.Timestamp('20130101 09:00:03'),
...                            pd.Timestamp('20130101 09:00:05'),
...                            pd.Timestamp('20130101 09:00:06')])
>>> df
                       B
2013-01-01 09:00:00  0.0
2013-01-01 09:00:02  1.0
2013-01-01 09:00:03  2.0
2013-01-01 09:00:05  NaN
2013-01-01 09:00:06  4.0

पूर्णांक रोलिंग विंडो के विपरीत, यह समय अवधि के अनुरूप एक चर लंबाई विंडो को रोल करेगा। Min_periods के लिए डिफ़ॉल्ट 1 है।

>>> df.rolling('2s').sum()
                       B
2013-01-01 09:00:00  0.0
2013-01-01 09:00:02  1.0
2013-01-01 09:00:03  3.0
2013-01-01 09:00:05  NaN
2013-01-01 09:00:06  4.0