CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Effectuez un pivot de monthly_checkouts pour que chaque format devienne sa propre colonne.
  • Passez la liste formats pour 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)
Modifier et exécuter le code