# 좋은 방법
pct1 = (
df_raw
# .set_index("date")
.groupby("code")["close"].pct_change(1)
)
pct10 = (
df_raw
# .set_index("date")
.groupby("code")["close"].pct_change(10)
)
new_df = df_raw.assign(pct1=pct1, pct10=pct10)
한줄에 하는거
new_df = df_raw.groupby("code", group_keys=False).apply(
lambda x: x.assign(
change_sma=x["close"].pct_change(conf.change_n),
change=x["close"].pct_change(1)
)
)
cols = ["code", "date", "change_sma", "change"]
return new_df[cols]