2017-01-03 2 views
1

У меня есть многоиндексная dataframe, который выглядит следующим образом:Роллинг окна в многоиндексной панде Dataframe

     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, но я не могу правильно получить синтаксис.

заранее спасибо

ответ

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 
Смежные вопросы