python Pandas 。如何使用滚动窗口进行减法

标签 python pandas rolling-computation

我想要一个大小为 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修改为以下内容,但它不起作用。它指出错误需要一个 float 。

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

感谢任何帮助。

编辑添加的表格以澄清我的要求。寻求最终值(value)。

enter image description here

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

最佳答案

我认为这会起作用:

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

关于 python Pandas 。如何使用滚动窗口进行减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49243510/

相关文章:

pandas - 计算可变窗口大小的滚动最大值,并根据该窗口大小调整位置

Python 提取 href 问题

python - 字典在传递给函数时显示为 None

python - 将函数应用于可以返回多行的pandas DataFrame

python - pandas中如何比较workers时间范围内的事务时间点将员工添加到事务表中?

沿列滚动百分比添加

python - 从 python 调用 webjob

python - 找不到任何满足要求的下载 pypm==1.3.4

python - 如何找到一个包含特定字符串和最大数字的对象?

R:传递多个参数来累加/减少