Python Pandas。如何使用滚动window减法

Python Pandas. How to use rolling window to subtract

我想滚动 window 大小为 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()

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

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

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

感谢任何帮助。

编辑添加了 table 以澄清我的问题。希望有最终价值。

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

我认为这会起作用:

df['col'] - df['col'].rolling(8).mean()