Topics in this subject
Pandas 1 min read Updated 4 Aug 2026

Project 5 — Time Series Analysis

dates = pd.daterange('2024-01-01', periods=90, freq='D')

dates = pd.date_range('2024-01-01', periods=90, freq='D')
rng = np.random.default_rng(0)
ts = pd.DataFrame({'date': dates,
                   'visits': rng.integers(80, 200, 90)}).set_index('date')

ts['ma7']   = ts['visits'].rolling(7).mean()      # weekly trend
ts['cum']   = ts['visits'].cumsum()               # cumulative
ts['dod']   = ts['visits'].pct_change()           # day-over-day % change
monthly     = ts['visits'].resample('M').sum()    # monthly totals
ts['ewm']   = ts['visits'].ewm(span=7).mean()     # smoother, recency-weighted

Toolkit: rolling for smoothing, pct_change/shift for period changes, resample for re-aggregation, ewm for adaptive smoothing.