有一段时间我发现pd.rolling的用法有点奇怪。
我之前使用的是pd.rolling_mean
,但我认为已弃用。
现在我正在使用:df.A.rolling(window=[0.1, ...], win_type='boxcar')
,所以我想要一个自定义窗口。
在我的理解中,这也显示在结果中,如果我传递一个自定义窗口窗口类型是不需要的 - 但在这种情况下我得到一个错误,说该窗口需要是一个整数。但是,正如我所说,如果我传递窗口大小而不是数组,我只希望win_type能够产生影响。我错了吗? 此外,现在我想在groupby上使用它 - 但我不能让它运行自定义数组。
示例:写作
df.groupby('B').A.rolling(window=[0.1, ...], win_type='boxcar')
再次给我错误:
窗口必须是整数。
你能帮帮我吗?
所以一般来说我想把我的数据帧按一些列分组(比方说B),然后将过滤器应用到其他一些列(比方说A)。对于过滤器,我需要自定义权重[a_1,...,a_n],s.t。每个值x_t = x_ {t-1} * a_n + ... + x_ {t-n} * a_1。
示例我想要的窗口[0.5,0.5]:
B A Output
0 0 nan
0 1 0.5
0 2 1.5
1 4 nan
1 6 5