我有一个多索引数据框,如下所示:
LAST PRICE HIGH LOW PX CLOSE 1D
date
2010-01-04 SPX Index 1132.99 1133.87 1116.56 1115.10
CL1 Comdty 81.51 81.79 79.66 79.36
2010-01-05 SPX Index 1136.52 1136.63 1129.66 1132.99
CL1 Comdty 81.77 82.00 80.95 81.51
2010-01-06 SPX Index 1137.14 1139.19 1133.95 1136.52
CL1 Comdty 83.18 83.52 80.85 81.77
2010-01-07 SPX Index 1141.69 1142.46 1131.32 1137.14
CL1 Comdty 82.66 83.36 82.26 83.18
2010-01-08 SPX Index 1144.98 1145.39 1136.22 1141.69
CL1 Comdty 82.75 83.47 81.80 82.66
我想为“最后价格”添加具有简单和指数移动平均线的新列。我如何做到这一点,以便每个底层的计算是正确的?我相信我需要使用groupby
,但我无法正确使用语法。
提前致谢
答案 0 :(得分:2)
请参阅ewm
documentation了解更多信息
使用unstack
df['PX CLOSE 1D'].unstack().ewm(halflife=1).mean()
CL1 Comdty SPX Index
date
2010-01-04 79.360000 1115.100000
2010-01-05 80.793333 1127.026667
2010-01-06 81.351429 1132.451429
2010-01-07 82.326667 1134.952000
2010-01-08 82.498710 1138.429677