Lazy pivot to wide format
The dashboard team wants a wide month-by-format view of checkouts. Polars supports .pivot() in lazy mode when you specify the output column names in advance, which keeps the whole pipeline optimized end to end.
The LazyFrame monthly_checkouts holds totals in long format with a month, format, and total column, and the list formats holds every format name in the data.
Cet exercice fait partie du cours
<cours>Scaling and Optimizing Data Pipelines with Polars</cours>Instructions de l’exercice
- Pivot
monthly_checkoutsso eachformatbecomes its own column. - Pass the
formatslist so the lazy pivot knows the output schema in advance. - Sort the resulting DataFrame by
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)