Open1
polarsが書きやすいって気持ちがわかってきた
長年pandasを使ってきたこともあり、個人的にはpandas > polars の使いやすさだった。
しかし、最近polarsがめちゃくちゃ書きやすいって感じるようになってきた。
df_agg = (df
#filter条件 日付とかflagで条件づけ
.filter(datetime.strptime(obs_start, '%Y-%m-%d') <= pl.col("dt"))
.filter(pl.col("dt") < datetime.strptime(obs_end, '%Y-%m-%d'))
.filter(pl.col("target_flag")==1)
#ユーザーIDとcategory flagでgroupbyして、(ユーザー単位)での合計金額を出す。
.groupby(["user_id", "target_timing_1", "target_timing_2"])
.agg(pl.col("price").sum())
#category flagでgroupbyして、グループ内の平均金額を出す。
.groupby(["target_timing_1", "target_timing_2"])
.agg(pl.col("price").mean())
)
これをpandasで一発で書こうとするとすごく長ったらしくなる。。。
よくよく考えると、この書き方はSQLのお気持ちと似ているように感じる。業務でもSQLを書くようになってきて、polarsの記法にも慣れてきたのかもしれない。