python统计窗口函数怎么处理_python时间序列:移动窗口函数前篇
在移動窗口(可以帶有指數衰減權數)上計算的各種統計函數也是一類常見于時間序列的數組變換。它們稱為移動窗口函數,其中還包括那些窗口不定長的函數(如指數加權移動平均)。跟其他統計函數一樣,移動窗口函數也會自動排除缺失值。「親,如果筆記對您有幫助,收藏的同時,記得給點個贊、加個關注哦!感謝!」
「文中代碼均親測過,若有錯誤之處,歡迎批評指正,一起學習,一起成長!」
Series.rolling.mean()是其中最簡單的一個,它接受一個TimeSeries或DataFrame以及一個window(表示期數):
In [14]: close_px.AAPL.plot()
Out[14]:
默認情況下,諸如Series.rolling.mean()這樣的函數需要指定數量的非NA觀測值。可以修改該行為以解決缺失數據的問題。其實,在時間序列開始處尚不足窗口期的那些數據就是個特例:
In [18]: prm=pd.Series.rolling(close_px.AAPL,250).mean()
In [19]: prm.plot()
Out[19]:
In [24]: appl_std250=pd.Series.rolling(close_px.AAPL,250,min_periods=10).mean()
In [25]: appl_std250[5:12]
Out[25]:
1990-02-08 NaN
1990-02-09 NaN
1990-02-12 NaN
1990-02-13 NaN
1990-02-14 7.964000
1990-02-15 7.967273
1990-02-16 7.962500
Freq: B, Name: AAPL, dtype: float64
In [26]: appl_std250.plot()
Out[26]:
要計算擴展窗口平均,可以將擴展窗口看做一個特殊的窗口,其長度與時間序列一樣,但只需一期(或多期)即可計算一個值:
# 通過Series.rolling.mean()定義擴展平均
In [27]: expanding_mean=lambda x :Series.rolling(x,len(x),min_periods=1).mean()
對DataFrame調用Series.rolling.mean()(以及與之類似的函數)會將轉換應用到所有的列上:
In [29]: pd.Series.rolling(close_px,60).mean().plot(logy=True)
Out[29]:
「親,如果筆記對您有幫助,收藏的同時,記得給點個贊、加個關注哦!感謝!」
「文中代碼均親測過,若有錯誤之處,歡迎批評指正,一起學習,一起成長!」
總結
以上是生活随笔為你收集整理的python统计窗口函数怎么处理_python时间序列:移动窗口函数前篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis多服务器共享_【数据库】Red
- 下一篇: wxpython列表控件listctrl