ウィンドウ関数で複数列をグループ化する
分析をさらに進めるために、バイク需要を時間帯と天気の両方で分解したいと考えています。暖かく晴れた時間帯は、涼しく曇った時間帯とは傾向が異なるはずです。シンプルな天気カテゴリを作成し、各「時間×天気」の組み合わせごとにレンタル合計を計算しましょう。
polars は pl として読み込まれています。DataFrame bikes には time、rentals、temp、hour の列があります。
この演習はコースの一部です
Data Transformation with Polars
演習の手順
weather列を作成します。tempが 20 を超えるときは"warm"、それ以外は"cool"とします。total_by_hour_weatherを追加し、hourとweatherでグループ化したrentalsの合計を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Add weather category based on temperature
bikes.with_columns(
pl.when(pl.col("temp") > 20)
.then(pl.lit("____"))
.otherwise(pl.lit("____"))
.alias("weather")
).with_columns(
# Calculate total rentals by hour and weather
pl.col("rentals").____().over("____", "____").alias("total_by_hour_weather")
)