НачатьНачать бесплатно

Ленивый 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)
Редактировать и запускать код