Лінивий pivot у широкий формат
Команда дашборду хоче широке представлення видач за місяцями й форматами. Polars підтримує .pivot() у лінивому режимі, якщо ви заздалегідь вкажете назви вихідних стовпців — так увесь конвеєр лишається оптимізованим від початку до кінця.
LazyFrame monthly_checkouts містить підсумки у довгому форматі зі стовпцями month, format і total, а список formats зберігає всі назви форматів у даних.
Ця вправа є частиною курсу
Масштабування й оптимізація конвеєрів даних з Polars
Інструкції до вправи
- Зробіть pivot
monthly_checkouts, щоб коженformatстав окремим стовпцем. - Передайте список
formats, щоб лінивий pivot наперед знав схему виводу. - Відсортуйте отриманий датафрейм за
month.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)