Применение autocorr на кучу серий - PullRequest
0 голосов
/ 21 мая 2018

У меня есть фрейм данных, который содержит несколько временных рядов:

df.head()
             0         1         2
time                              
0.0   0.365035  0.365035  0.365035
1.0   0.349999  0.349999  0.349999
2.0   0.340998  0.340998  0.340998
3.0   0.333877  0.333877  0.333877
4.0   0.326411  0.326411  0.326411

Теперь я хотел бы вычислить для каждого из них std и autocorr.

Я знаю, чтоЯ могу сделать это индивидуально:

df[0].aggregate(['std', 'autocorr'])
Out[10]: 
std         0.081165
autocorr    0.995285

Для std, это работает:

df.unstack().groupby(level=0).aggregate(['std'])
Out[11]: 
        std
0  0.081165
1  0.081165
2  0.081165

Но когда я пытаюсь сделать то же самое для autocorr, я получаю

df.unstack().groupby(level=0).aggregate(['autocorr'])
AttributeError: Cannot access callable attribute 'autocorr' of 'SeriesGroupBy' objects, try using the 'apply' method

Почему это происходит?Какой правильный путь / обходной путь?

1 Ответ

0 голосов
/ 21 мая 2018

Скорее всего, autocorr не был реализован как метод для класса SeriesGroupBy.

Попробуйте вместо этого:

In [15]: df.unstack().groupby(level=0).agg(['std', pd.Series.autocorr])
Out[15]:
        std  autocorr
0  0.014972  0.991893
1  0.014972  0.991893
2  0.014972  0.991893
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...