正确应用pd.rolling

时间:2018-02-19 08:26:26

标签: python pandas

有一段时间我发现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

0 个答案:

没有答案