问题描述
我有一个包含两个价格和每个价格的移动平均线(窗口 = 3)的数据框:
价格1 | 价格2 | MA3-price1 | MA3-price2 |
---|---|---|---|
18 | 10 | ||
12 | 9 | ||
20 | 15 | 16.66 | 11.33 |
12 | 7 | 14.66 | 10.33 |
4 | 9 | 12 | 10.33 |
6 | 4 | NaN | NaN |
我没有最后一行的 MA。如何计算最后一行的 MA 并获得:
价格1 | 价格2 | MA3-price1 | MA3-price2 |
---|---|---|---|
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 |
解决方法
要从“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