экспоненциальная скользящая средняя с использованием панд - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть этот фрейм данных

                   2000  2001  2002  2003  2005  2006
Country Location                                    
US      Hawai       20    40   120   260    60   100
IT      Torino      40   450   140   540    54   200
FR      Paris       60   660   660   640    64   300
ISR     JER         80   880   380   830   830   400  

Я хотел бы рассчитать экспоненциальную скользящую среднюю (EMA7) для каждой страны (с 2000 по 2005 - 2006 гг. Не следует включать)
Я наивно пробовал этот подход,Это правильно?

ema7=df1.ewm(span=7,adjust=False).mean()   

, что дало

                   2000       2001      2002     2003       2005      2006
Country Location                                                            
US      Hawai     20.0000   40.00000  120.0000  260.000   60.00000  100.0000
IT      Torino    25.0000  142.50000  125.0000  330.000   58.50000  125.0000
FR      Paris     33.7500  271.87500  258.7500  407.500   59.87500  168.7500
ISR     JER       45.3125  423.90625  289.0625  513.125  252.40625  226.5625  

Часть из того факта, что 2006 год должен быть исключен, я не могу сказать, являются ли значения, которые я получаю, правильными.Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 23 февраля 2019

Использование:

ema7=df1.drop(2006, axis=1).ewm(span=7,adjust=False).mean() 
print (ema7)
                     2000       2001      2002     2003       2005
Country Location                                                  
US      Hawai     20.0000   40.00000  120.0000  260.000   60.00000
IT      Torino    25.0000  142.50000  125.0000  330.000   58.50000
FR      Paris     33.7500  271.87500  258.7500  407.500   59.87500
ISR     JER       45.3125  423.90625  289.0625  513.125  252.40625

ema7=(df1.set_index(2006, append=True)
        .ewm(span=7,adjust=False)
        .mean()
        .reset_index(level=2)
        .sort_index(axis=1))
print (ema7)
                     2000       2001      2002     2003       2005  2006
Country Location                                                        
US      Hawai     20.0000   40.00000  120.0000  260.000   60.00000   100
IT      Torino    25.0000  142.50000  125.0000  330.000   58.50000   200
FR      Paris     33.7500  271.87500  258.7500  407.500   59.87500   300
ISR     JER       45.3125  423.90625  289.0625  513.125  252.40625   400
...