我了解滚动允许您指定用于计算滚动平均值的窗口类型。该文档列出了各种可用的窗口类型选项here。但是,我尝试使用长度为 4 的对称加权窗口类型,其定义如下(并且不可作为内置使用):
(a + 2*b + 2*c + d)/6
其中 a、b、c 和 d 是任意给定时间滚动窗口的四个元素,[1/6, 2/6, 2/6, 1/6] 是相关的权重。
如果我使用默认的窗口类型(boxcar),我会得到以下结果:
import pandas as pd
rs = pd.Series(range(10))
print rs.rolling(4, win_type = 'boxcar').mean()
0 NaN
1 NaN
2 NaN
3 1.5
4 2.5
5 3.5
6 4.5
7 5.5
8 6.5
9 7.5
dtype: float64
知道如何使用自定义的滚动窗口类型(在本例中为对称加权移动平均线)吗?
像这样创建一个内核:
import numpy as np
kernel = np.array([1,2,2,1])/6
然后与你的系列卷积:
np.convolve(rs,kernel,'same')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)