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()
我想滚动 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()