Pivot paresseux vers un format large
L'équipe en charge du tableau de bord souhaite une vue large, par mois et par format, des emprunts. Polars prend en charge .pivot() en mode lazy lorsque vous indiquez à l'avance les noms de colonnes de sortie, ce qui permet d'optimiser toute la chaîne de traitement de bout en bout.
Le LazyFrame monthly_checkouts contient des totaux au format long avec les colonnes month, format et total, et la liste formats rassemble tous les noms de format présents dans les données.
Cet exercice fait partie du cours
<cours>Mise à l'échelle et optimisation des pipelines de données avec Polars</cours>Instructions de l’exercice
- Effectuez un pivot de
monthly_checkoutspour que chaqueformatdevienne sa propre colonne. - Passez la liste
formatspour que le pivot lazy connaisse à l'avance le schéma de sortie. - Triez le DataFrame résultant 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)