Pivot paresseux vers un format large
L'équipe du tableau de bord souhaite une vue large des prêts par mois et par format. Polars prend en charge .pivot() en mode lazy lorsque vous précisez à l'avance les noms des colonnes de sortie, ce qui permet d'optimiser l'ensemble du pipeline de bout en bout.
Le LazyFrame monthly_checkouts contient les totaux en format long avec les colonnes month, format et total, et la liste formats contient tous les noms de formats présents dans les données.
Cette activité fait partie du cours
Mise à l'échelle et optimisation des pipelines de données avec Polars
Instructions de l’exercice
- Effectuez un pivot de
monthly_checkoutspour que chaqueformatdevienne sa propre colonne. - Passez la liste
formatsafin que le pivot lazy connaisse d'avance le schéma de sortie. - Triez le DataFrame obtenu par
month.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
result = (
monthly_checkouts
# Pivot the format column into separate columns
.pivot(
on="____",
index="month",
values="total",
# Pre-declare the output column names so the pivot stays lazy
on_columns=____,
)
.collect()
# Sort the wide result by month
.sort("____")
)
print(result)