3

我想取一个大小为 8 的滚动窗口,然后减去它的平均值。我认为这样做很简单。

df[column].rolling(8,min_periods=4)-df[column].rolling(8,min_periods=4).mean()

显然这是错误的。我在这里阅读了文档https://pandas.pydata.org/pandas-docs/stable/computation.html

所以我想使用 .apply()

def dumby(x):
    return x

df[column].rolling(8,min_periods=4).apply(dumby)-df[column].rolling(8,min_periods=4).mean()

这也不起作用,对我来说似乎不是好的代码。

我将以下内容修改为哑巴,但它不起作用。它指出需要一个浮点数作为错误。

def dumby(x):
t=[]
for i in x:
   t.append(i)
j=[float(y) for y in t]   
return j

任何帮助表示赞赏。

编辑添加的表格以澄清我的要求。寻找最终价值。

在此处输入图像描述

编辑 2:使用 100k + 行,因此窗口方法很重要。

4

1 回答 1

4

我认为这会起作用:

df['col'] - df['col'].rolling(8).mean()
于 2018-03-12T20:08:33.220 回答