1. ホーム
  2. python

[解決済み] モジュール 'pandas' には 'rolling_mean' という属性がありません。

2022-02-15 18:46:02

質問

異常検知のために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') 

error:Traceback (most recent call last)。 ファイル "C:\Program FilesPython36 lastmainprogram.py", line 74, in moving_avg = pd.rolling_mean(ts_log,12) AttributeError: module 'pandas' has no attribute 'rolling_mean'

解決方法は?

変化が必要だと思います。

moving_avg = pd.rolling_mean(ts_log,12)

になります。

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

pandasのバージョンが古いため、以下のようなコードになります。 pandas 0.18.0