У меня есть dataframe (df
):AttributeError: объект серии 'не имеет атрибут 'EWM'
Name: BBG.XLON.VOD.S_MKTCAP_EUR, dtype: float64
date
2008-02-04 125761.886753
2008-02-05 123681.237732
2008-02-06 124062.436220
2008-02-07 121107.388396
2008-02-08 124216.990692
2008-02-11 122075.831250
2008-02-12 126868.359688
2008-02-13 124942.668750
2008-02-14 124220.030625
2008-02-15 121296.275000
2008-02-18 123004.414768
2008-02-19 119431.907487
2008-02-20 113577.349414
типа: datatype <class 'pandas.core.frame.DataFrame'>
и пытаюсь вычислить экспоненциально взвешенное скользящее среднее которые я хочу захватить.
Я использую следующий код:
df = pd.DataFrame({'': stockData[unique_id+"_MKTCAP_EUR"]})
McapResult = df.ewm(alpha=0.1, adjust=False).mean().iloc[-1]
Где McapResult
это последнее значение в экспоненциальной серии
, но я получаю следующее сообщение об ошибке:
AttributeError: 'DataFrame' object has no attribute 'ewm'
Может кто-то дайте мне знаете, что мне нужно сделать, чтобы исправить это, пожалуйста?
Спасибо, я попробовал код, но все еще получаю объект AttributeError: объект «Series» не имеет проблемы с атрибутом «ewm». Не уверен, что я делаю неправильно – Stacey
Какова твоя версия панд? 'print pd.show_versions()'. Если ниже '0.18', это проблема, потому что' pandas.Series.ewm' является 'New в версии 0.18.0.' - [link] (http://pandas.pydata.org/pandas-docs/stable/generated /pandas.Series.ewm.html). У меня последняя версия '0.18.1', и она работает очень хорошо. – jezrael
Спасибо, да, я выполняю 0.17, поэтому я предполагаю, что обновление в порядке :). Есть ли какая-либо документация о том, как сделать это безболезненно? Спасибо – Stacey