Grouping by multiple columns with window functions
Taking the analysis further, you want to break down bike demand by both time of day and weather. Warm sunny hours likely behave differently from cool cloudy ones. Create a simple weather category, then calculate total rentals for each hour-weather combination.
polars is loaded as pl. The DataFrame bikes is available with columns time, rentals, temp, and hour.
Deze oefening maakt deel uit van de cursus
Data Transformation with Polars
Oefeninstructies
- Create a
weathercolumn:"warm"whentempexceeds 20, otherwise"cool". - Add
total_by_hour_weatherwith the sum ofrentalsgrouped byhourandweather.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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")
)