rolling(n) computes moving statistics over a fixed window; expanding() grows from the start; ewm() applies exponential decay weights—common for trends and smoothing.
rolling mean
import pandas as pd
import numpy as np
s = pd.Series([1, 2, 3, 4, 5])
print(s.rolling(3).mean())
Parameters
window— number of observations (or time offset for time-based)min_periods— minimum obs before value (default = window)center=True— center window on each point
DataFrame rolling
df = pd.DataFrame({'a': [1,2,3,4,5], 'b': [5,4,3,2,1]})
print(df.rolling(2).sum())
Important interview questions and answers
- Q: rolling vs shift?
A: rolling aggregates over window; shift moves values by periods (lag features). - Q: NaN at start?
A: First window-1 rows often NaN until min_periods satisfied.
Self-check
- Compute 3-period rolling mean.
- What does min_periods=1 change?
Tip: Pair rolling with datetime index for time-based windows like '7D'.
Interview prep
- rolling vs expanding?
rolling fixed window; expanding grows from start.
- min_periods?
Allow partial windows at series start.