Moving averages
Moving averages are frequently used to analyze time series. A moving average specifies a window of data that is previously seen, which is averaged each time the window slides forward by one period:

The different types of moving averages differ essentially in the weights used for averaging. The exponential moving average, for instance, has exponentially decreasing weights with time:

This means that older values have less influence than newer values, which is sometimes desirable.
The following code from the ch-07.ipynb
file in this book's code bundle plots the simple moving average for the 11 and 22 year sunspots cycles:
import matplotlib.pyplot as plt import statsmodels.api as sm from pandas.stats.moments import rolling_mean data_loader = sm.datasets.sunspots.load_pandas() df = data_loader.data year_range = df["YEAR"].values plt.plot(year_range, df["SUNACTIVITY"].values, label="Original") plt.plot(year_range, df.rolling(window...