Skip to main content
시계열 분석에서 성능을 좌우하는 요소 중 하나가 날짜 파싱보다 시간 피처 설계입니다. 월/주/요일/휴일 플래그를 일관되게 구성하면 모델 품질과 해석 가능성이 함께 올라갑니다.

기본 파이프라인

df["ts"] = pd.to_datetime(df["ts"], utc=True, errors="coerce")
df = df.dropna(subset=["ts"]).sort_values("ts")

df["year"] = df["ts"].dt.year
df["month"] = df["ts"].dt.month
df["dayofweek"] = df["ts"].dt.dayofweek
df["is_weekend"] = df["dayofweek"].isin([5, 6]).astype(int)

시간대 처리

# UTC -> Asia/Seoul
local_ts = df["ts"].dt.tz_convert("Asia/Seoul")
df["hour_local"] = local_ts.dt.hour
다국가 서비스에서는 저장은 UTC, 분석은 지역 시간대로 변환하는 구조가 안정적입니다.

누락 구간 보정

daily = (
    df.set_index("ts")
      .resample("D")["sales"].sum()
      .asfreq("D", fill_value=0)
)
resampleasfreq를 함께 쓰면 시계열 인덱스의 누락 날짜를 명시적으로 관리할 수 있습니다.

이어서 볼 문서