我有一个数据帧,其中包含100个对象的时间序列:
object period value
1 1 24
1 2 67
...
1 1000 56
2 1 59
2 2 46
...
2 1000 64
3 1 54
...
100 1 451
100 2 153
...
100 1000 21
我想使用
value
列的窗口10计算移动平均值。我想我必须做些类似的事情df.groupby('object').apply(lambda ~calculate MA~)
然后按对象将此系列合并到原始数据帧?无法找出确切的命令
最佳答案
您可以将rolling与transform
结合使用:
df['moving'] = df.groupby('object')['value'].transform(lambda x: x.rolling(10, 1).mean())
1
中的rolling
的周期数最少。