【问题标题】:Python Pandas. How to use rolling window to subtract蟒蛇熊猫。如何使用滚动窗口进行减法
【发布时间】:2018-08-20 23:05:09
【问题描述】:

我想取一个大小为 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 + 行,因此窗口方法很重要。

【问题讨论】:

  • 你能创建一些具有预期输出的虚拟数据吗?
  • 谢谢。只是一个例子

标签: python pandas rolling-computation


【解决方案1】:

我认为这会奏效:

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

【讨论】:

  • 谢谢。一旦您看到答案之一,您就会感到愚蠢。感谢 Scott Boston,您也拥有它。
猜你喜欢
  • 2018-11-07
  • 2021-11-09
  • 2017-03-30
  • 2016-10-16
  • 1970-01-01
  • 2020-04-21
  • 2021-03-30
  • 1970-01-01
  • 2021-02-18
相关资源
最近更新 更多