首页 > 解决方案 > 指数移动平均线 df.ewm() 函数

问题描述

我正在逐步了解 Analytics Vidhya 的

时间序列预测不久前发布。我在计算指数移动平均线的步骤

https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/

文章链接。

这是vidhya的代码:

xpwighted_avg = pd.ewma(ts_log, halflife=12)
plt.plot(ts_log)
plt.plot(expwighted_avg, color=‘red’) 

我的代码:

expwavg = a.ewm(span=12, adjust=True).mean()
plt.plot(a)
plt.plot(expwavg, color='red') 

a是我的数据集。我相信功能已经改变,我正在使用最新的功能。解决此功能的任何帮助都会有所帮助。

错误:列表对象没有属性 ewm 或 ewma

谢谢,

标签: pythonpython-3.xpandastime-series

解决方案


我怀疑这a实际上不是 DataFrame。你可能想先试试这个:

# assuming you have previously done:
# import pandas as pd
adf = pd.DataFrame.from_records(a)
adf.head()

如果数据的结构符合您的预期,那么您的命令可能会起作用:

expwavg = adf.ewm(span=12, adjust=True).mean()
plt.plot(adf)
plt.plot(expwavg, color='red') 

如果这不起作用,您可能需要在您已经发布的三行之前发布一些代码。


推荐阅读