jbobym's picture
space deploy: trim short_description to fit HF 60-char cap
93ed35a
raw
history blame contribute delete
579 Bytes
"""Feature engineering. Stateless transforms only. Anything that fits
on training data and applies to test data lives in `modeling/` — keeping
that boundary clean prevents train/test leakage."""
from __future__ import annotations
import pandas as pd
def add_calendar_features(df: pd.DataFrame, time_col: str) -> pd.DataFrame:
"""Hour, day-of-week, month — useful for most temporal models."""
out = df.copy()
ts = pd.to_datetime(out[time_col])
out["hour"] = ts.dt.hour
out["day_of_week"] = ts.dt.dayofweek
out["month"] = ts.dt.month
return out