[英]How do I calculate a rolling mean with custom weights in pandas?
熊貓文檔http://pandas.pydata.org/pandas-docs/stable/computation.html上有一個有關如何計算移動平均值的示例:
ser = pd.Series(np.random.randn(10), index=pd.date_range('1/1/2000', periods=10))
pd.rolling_window(ser, 5, 'boxcar')
第二行計算五個窗口中每個觀測值的滾動平均值,其窗口為5,權重相等。 這些文檔非常誘人地提到了使用自定義權重的可能性(“傳遞win_type而不是明確指定權重時……”),但是您怎么做呢?
謝謝!
我不是數學專家,但是請在這里 輕松解釋。
我嘗試測試一下:
import pandas as pd
ser = pd.Series([1,1,1], index=pd.date_range('1/1/2000', periods=3))
print ser
rm1 = pd.rolling_window(ser, window=[2,2,2], mean=False)
rm2 = pd.rolling_window(ser, window=[2,2,2]) #, mean=True
print rm1
#
#2000-01-01 NaN
#2000-01-02 NaN
#2000-01-03 6
#Freq: D, dtype: float64
print rm2
#
#2000-01-01 NaN
#2000-01-02 NaN
#2000-01-03 1
#Freq: D, dtype: float64
我將window
設置為ndarray
( [2,2,2]
),並計算了加權和( rm1
)和加權平均值( rm2
)。
window : int或ndarray :
加權窗口規格。 如果窗口是整數,則將其視為窗口長度,並且需要win_typemean : 布爾值,默認為True
如果True計算加權均值,否則加權和
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.