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の記法にも慣れてきたのかもしれない。