模块“ pandas”没有属性“ rolling_mean”
machine-learning
pandas
python
6
0

我正在尝试建立一个ARIMA进行异常检测。我需要找到时间序列图的移动平均值,为此我尝试使用pandas 0.23

import pandas as pd
import numpy as np
from statsmodels.tsa.stattools import adfuller
import matplotlib.pylab as plt
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15, 6

dateparse = lambda dates: pd.datetime.strptime(dates, '%Y-%m')
data = pd.read_csv('AirPassengers.csv', parse_dates=['Month'], index_col='Month',date_parser=dateparse)

data.index
ts = data['#Passengers']
ts.head(10)

plt.plot(ts)
ts_log = np.log(ts)
plt.plot(ts_log)
moving_avg = pd.rolling_mean(ts_log,12)  # here is the error

pd.rolling_mean  
plt.plot(ts_log)
plt.plot(moving_avg, color='red') 

错误:跟踪(最近一次调用最近):文件“ C:\ Program Files \ Python36 \ lastmainprogram.py”,行74,在moving_avg = pd.rolling_mean(ts_log,12)中AttributeError:模块'pandas'没有属性'rolling_mean '

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

更改:

moving_avg = pd.rolling_mean(ts_log,12)

至:

rolmean = pd.Series(timeseries).rolling(window=12).mean()

rolstd = pd.Series(timeseries).rolling(window=12).std()
收藏
评论

我相信需要改变:

moving_avg = pd.rolling_mean(ts_log,12)

至:

moving_avg = ts_log.rolling(12).mean()

因为旧的熊猫版本代码低于pandas 0.18.0

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号