トップ / ソート

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)