始める無料で始める

遅延実行でのワイド形式へのピボット

ダッシュボードチームは、月別・形式別のチェックアウト数をワイド形式で確認したいと考えています。Polars では、出力列名を事前に指定することで遅延モードでも .pivot() を使用でき、パイプライン全体を最適化した状態に保てます。

LazyFrame の monthly_checkouts には、monthformattotal 列を持つロング形式の合計データが格納されており、リスト formats にはデータ内のすべての形式名が含まれています。

この演習はコースの一部です

Polars によるデータパイプラインのスケーリングと最適化

コースを見る

演習の手順

  • monthly_checkouts をピボットして、各 format を独立した列に変換しましょう。
  • 遅延ピボットが出力スキーマを事前に把握できるよう、formats リストを渡しましょう。
  • 結果の 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)
コードを編集して実行