トップ / ウィンドウ関数
グループ(パーティション)ごとに、行をまたいだ計算をするための土台を定義する。
Window.partition_by("department").order_by(col("salary").desc())
# Window仕様を単独定義せず、各Expressionの末尾に .over("department") を付ける
SnowparkはPySpark由来のWindowSpecオブジェクトをWindow.partition_by(...).order_by(...)で組み立て、後述のrank()等の式に.over(window_spec)として渡す。Polarsには独立した「窓の仕様オブジェクト」という概念が無く、集計したい式の末尾に直接.over("department")を付けるだけでパーティションごとの計算になる。
Snowparkは並べ替え(order_by)をWindowSpecの中で一括指定できるが、Polarsの.over()自体には並べ替えを指定する引数が無い。row_numberやlag/leadのようにパーティション内の順序が結果を左右する計算をPolarsで行うときは、.over()を付ける前にsort()でデータ全体を正しい順序に並べておく必要がある(次のrow_numberのページを参照)。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-24)