簡體   English   中英

如何用熊貓自定義權重計算滾動平均值?

[英]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 )。

pandas.rolling_window

windowint或ndarray
加權窗口規格。 如果窗口是整數,則將其視為窗口長度,並且需要win_type

mean布爾值,默認為True
如果True計算加權均值,否則加權和

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM