📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Pandas Time Series

Time Series

5 min read Quiz at the end
Resample time series to different frequencies, compute rolling averages, and shift for lag features.

Time Series Analysis

import pandas as pd

df = pd.read_csv('sales.csv', parse_dates=['date'], index_col='date')

# Date range
dates = pd.date_range('2024-01-01', periods=365, freq='D')
df_ts = pd.DataFrame({'sales': range(365)}, index=dates)

# Resample (downsample to monthly)
monthly = df_ts['sales'].resample('ME').sum()
weekly  = df_ts['sales'].resample('W').mean()

# Rolling window
df_ts['rolling_avg'] = df_ts['sales'].rolling(window=7).mean()
df_ts['rolling_std'] = df_ts['sales'].rolling(window=30).std()

# Shift (lag)
df_ts['prev_day']   = df_ts['sales'].shift(1)
df_ts['next_day']   = df_ts['sales'].shift(-1)
df_ts['day_over_day'] = df_ts['sales'].pct_change()

# Date component extraction
df['year']  = df.index.year
df['month'] = df.index.month
df['dow']   = df.index.dayofweek
Topic Quiz · 1 questions

Test your understanding before moving on

1. What does df.resample('ME').sum() do?
💡 resample('ME') groups a time-indexed Series or DataFrame by month-end and sum() totals each group.