トップ / ウィンドウ関数
パーティション内で順位をつける。同じ値には同じ順位がつくが、次の順位は飛ばさない。
dense_rank().over(window_spec)
pl.col("salary").rank(method="dense", descending=True).over("department")
SnowparkはSQLのDENSE_RANK()に変換される。Polarsは.rank(method="dense")で対応する。実行して確認したところ、同率が2件あっても次の順位は2から始まる(rankのときの「3から始まる」との違いが確認できた)。
rankとの違いはmethod引数の値("min"か"dense"か)だけで、呼び出しの形はほぼ同じ。どちらを使うつもりだったか、書くときにmethodの値を見て確認する習慣をつけると取り違えを防げる。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-24)