トップ / ウィンドウ関数
パーティション内で順位をつける。同じ値には同じ順位がつき、その分だけ次の順位を飛ばす。
rank().over(window_spec)
pl.col("salary").rank(method="min", descending=True).over("department")
SnowparkはSQLのRANK()関数に変換される。Polarsは.rank(method="min")で同じ挙動になる。実行して確認したところ、同率のときに順位が並び(1, 1)、その次は2でなく3から始まる点まで一致する。
Polarsの.rank()はmethod引数を省略したり別の値("ordinal"や"dense"など)にすると挙動が変わる。SQLのRANK()と同じ「同率は同順位・次は飛ばす」という挙動にしたいときは、必ずmethod="min"を明示する(既定値のままでは意図と違う結果になる)。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-24)