【发布时间】:2019-01-25 22:10:15
【问题描述】:
我有一个巨大的数据框,并且经常添加一行。 我希望在添加单行后更新滚动平均值(在最近的时间窗口内)和标准偏差。有人知道 pandas 是使用新包含/删除的行的增量在恒定时间内自动执行此操作,还是实际上重新计算总和和平方和?
编辑:已请求一个示例来解释我所说的恒定时间滚动平均更新的含义:
data_set = (1,2,3)
old_mean = 2
new_value: 4
expired_value = 1
new_mean = (old_mean * num_of_values - expired_value + new_value) / num_values
= (2 * 3 - 1 + 4) / 3
= 3
^恒定时间。这对于大型数据帧很重要。
【问题讨论】:
-
这是一个相当简单的操作,请提供minimal reproducible example
-
滚动均值部分很容易理解,但是您仍然没有提供 DataFrame。听起来你只是想要
df.rolling(3).mean() -
所以我的问题是,mean() 部分是否是一个属性,它是通过添加新行在恒定时间内更新的属性,还是一个费力遍历所有行的方法每次添加时滚动 DF 的一部分?
标签: python pandas dataframe mean