Ленивый pivot: преобразование в широкий формат
Команда разработки дашборда хочет получить широкое представление данных о выдачах по месяцам и форматам. Polars поддерживает .pivot() в ленивом режиме, если заранее указать имена выходных столбцов — это позволяет оптимизировать весь пайплайн от начала до конца.
LazyFrame monthly_checkouts содержит итоги в длинном формате со столбцами month, format и total, а список formats включает все названия форматов, присутствующих в данных.
Это упражнение является частью курса
Масштабирование и оптимизация конвейеров данных с Polars
Инструкции к упражнению
- Выполните pivot для
monthly_checkoutsтак, чтобы каждыйformatстал отдельным столбцом. - Передайте список
formats, чтобы ленивый pivot знал схему выходных данных заранее. - Отсортируйте полученный DataFrame по
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)