トップ / ソート

order_by / sort

行を指定した列の値で並べ替える。

SNOWPARK 静的検証のみ

df.order_by(col("age").asc(), col("score").desc())

POLARS 実行確認済み

ldf.sort(by=["age", "score"], descending=[False, True])

挙動・設計の違い

SnowparkはSQLのORDER BY句に変換される。分散環境でのソートは全ノード間のデータシャッフルを伴うため、大規模データでは相応のコストがかかる。Polarsはローカルメモリ上でマルチスレッドのソートを実行する。

移行時の落とし穴

昇順・降順の指定方法が構文として異なる。Snowparkはcol("列名").asc().desc()のように列の式自体に方向を持たせるのに対し、Polarsはsort()descending引数に列の数と対応する真偽値のリストを渡す。列を並べ替えてもdescendingリストの対応する位置を一緒に動かし忘れると、意図と違う列が昇順/降順になる。

ソートの他のメソッド

出典・検証情報

Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-23)