トップ / ソート

nulls_first / nulls_last

NULL値をソート結果の先頭・末尾どちらに置くかを指定する。

SNOWPARK 静的検証のみ

df.order_by(col("score").desc_nulls_last())

POLARS 実行確認済み

ldf.sort(by="score", descending=True, nulls_last=True)

挙動・設計の違い

SnowparkはSQLのNULLS FIRST/NULLS LAST句を生成する。Polarsはsort()nulls_last引数(真偽値)で制御する。

移行時の落とし穴

col("score").desc().nulls_last()という書き方は存在しないColumnクラスに単独のnulls_last()メソッドは無いことを実機で確認済み)。正しくはasc_nulls_firstasc_nulls_lastdesc_nulls_firstdesc_nulls_lastという、向きとNULLの位置が結合した4つのメソッドのいずれかを直接呼ぶ。また、両APIとも既定のNULL配置順(明示指定しない場合にNULLが先頭に来るか末尾に来るか)はバージョンや向きによって変わりうるため、NULLを含む列を並べ替えるときは明示指定が安全(実機ではPolarsは昇順・降順どちらでもNULLが先頭に来る挙動だった)。

ソートの他のメソッド

出典・検証情報

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