Regrouper par plusieurs colonnes avec des fonctions de fenêtre
Pour aller plus loin dans l’analyse, vous souhaitez ventiler la demande de vélos à la fois par moment de la journée et par météo. Les heures chaudes et ensoleillées se comportent sans doute différemment des heures fraîches et nuageuses. Créez une catégorie météo simple, puis calculez le total des locations pour chaque combinaison heure–météo.
polars est chargé sous le nom pl. Le DataFrame bikes est disponible avec les colonnes time, rentals, temp et hour.
Cet exercice fait partie du cours
<cours>Transformation de données avec Polars</cours>Instructions de l’exercice
- Créez une colonne
weather:"warm"lorsquetempdépasse 20, sinon"cool". - Ajoutez
total_by_hour_weatheravec la somme derentalsregroupée parhouretweather.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")
)