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.