トップ / 集約・構造変換
行の値を列に展開する(縦持ちから横持ちへ)。
df.pivot("department", ["sales", "eng"]).sum("salary")
ldf.pivot(on="department", on_columns=["sales", "eng"], values="salary", aggregate_function="sum")
SnowparkはSQLのPIVOT構文に直結し、展開する列名の一覧を静的に指定することでクエリレベルで安全に列を生成する。Polarsはメモリ上でハッシュテーブルを組み替えて新しい列を作る。
Polars 1.43.2ではLazyFrame.pivot()を直接呼び出せる(実機で確認済み)。ただしDataFrame(Eager)版のpivot()と違い、on_columns(展開後の列名の一覧)を明示的に渡すことが必須で、省略するとTypeErrorになる。「LazyFrameからpivotは呼べず必ずcollect()を挟む必要がある」という情報を見かけることがあるが、少なくとも1.43.2ではこれは誤りで、正しくは「呼べるがon_columnsの指定が必須」という違いになる。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-22)