Модуль «Панды» не имеет атрибута «Rolling_mean» - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь построить 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' нет атрибута 'roll_mean'

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Изменение:

moving_avg = pd.rolling_mean(ts_log,12)

на:

moving_avg = ts_log.rolling(12).mean()
0 голосов
/ 23 мая 2018

Я считаю, что нужно изменить:

moving_avg = pd.rolling_mean(ts_log,12)

на:

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

, потому что старый код версии панд ниже pandas 0.18.0

...