首页 > 解决方案 > 数据框最后一行的移动平均值

问题描述

我有一个数据框,其中包含两个价格和每个价格的移动平均线(窗口 = 3):

价格1 价格2 MA3-价格1 MA3-价格2
18 10
12 9
20 15 16.66 11.33
12 7 14.66 10.33
4 9 12 10.33
6 4

我没有最后一行的 MA。如何计算最后一行的 MA 并获得:

价格1 价格2 MA3-价格1 MA3-价格2
18 10
12 9
20 15 16.66 11.33
12 7 14.66 10.33
4 9 12 10.33
6 4 7.33 6.66

标签: pythondataframenumpymoving-average

解决方案


要从“price1”和“price2”计算“MA3-price1”和“MA3-price2”列,请尝试:

df[["MA3-price1", "MA3-price2"]] = df.rolling(3).mean()
print(df)

印刷:

   price1  price2  MA3-price1  MA3-price2
0      18      10         NaN         NaN
1      12       9         NaN         NaN
2      20      15   16.666667   11.333333
3      12       7   14.666667   10.333333
4       4       9   12.000000   10.333333
5       6       4    7.333333    6.666667

推荐阅读