トップ / ソート

asc / desc

列に昇順・降順の方向を持たせる。

SNOWPARK 静的検証のみ

df.order_by(col("price").asc())
df.order_by(col("price").desc())

POLARS 実行確認済み

ldf.sort(by="price", descending=False)
ldf.sort(by="price", descending=True)

挙動・設計の違い

Snowparkのasc()/desc()はColumnオブジェクトに「並べ替えの向き」という性質を持たせるディレクティブで、order_byの引数として渡す。Polarsには列ごとの向きを表す同等のディレクティブは無く、sort()メソッドのdescending引数(真偽値または真偽値のリスト)で並べ替えの向きを指定する。

移行時の落とし穴

Polarsのpl.col("price").sort(descending=True)という書き方は、Snowparkのcol("price").desc()の直訳にはならない。実行して確認したところ、これは「price列の値だけを単独で並べ替える」処理であり、selectの中で使うと他の列との行の対応関係が崩れる(name列は元の順のまま、price列だけ降順に並び替わり、別の行の組み合わせになってしまう)。テーブル全体を1つの列の値で並べ替えたいときは、必ずldf.sort(by="price", descending=True)のようにLazyFrame/DataFrame側のsort()を使う。

ソートの他のメソッド

出典・検証情報

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