df["ts"] = pd.to_datetime(df["ts"], utc=True)
local = df["ts"].dt.tz_convert("Asia/Seoul")
df["year"] = local.dt.year
df["month"] = local.dt.month
df["day"] = local.dt.day
df["dayofweek"] = local.dt.dayofweek
df["is_weekend"] = local.dt.dayofweek.isin([5, 6]).astype(int)
df["is_month_start"] = local.dt.is_month_start.astype(int)
df["is_month_end"] = local.dt.is_month_end.astype(int)