Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Data Science by (17.6k points)

I am trying to build a ARIMA for anomaly detection. I need to find the moving average of the time series graph I am trying to use pandas 0.23 for this

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): File "C:\Program Files\Python36\lastmainprogram.py", line 74, in moving_avg = pd.rolling_mean(ts_log,12) AttributeError: module 'pandas' has no attribute 'rolling_mean'

1 Answer

0 votes
by (41.4k points)

I believe need change:

moving_avg = pd.rolling_mean(ts_log,12)

to:

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

because old pandas version code below pandas 0.18.0

Browse Categories

...