トップ / フィルタ・サンプリング

drop_duplicates

指定した列の値が一致する行を重複とみなして間引く。

SNOWPARK 静的検証のみ

df.drop_duplicates("user_id")

POLARS 実行確認済み

ldf.unique(subset=["user_id"], keep="first")

挙動・設計の違い

Snowparkは内部的にROW_NUMBER() OVER (PARTITION BY user_id ORDER BY ...)のようなウィンドウ関数を含むサブクエリに展開して重複行を除く。Polarsは指定列のハッシュ値をもとに、keep引数で指定した方針(最初/最後/いずれか1件)で1行だけを残す。

移行時の落とし穴

事前に明示的なソートをしていない場合、複数の重複行のうち「どの1行が残るか」の決定ロジックがエンジン間で異なる可能性がある。特定の行を残したい場合は、drop_duplicates/uniqueの前に必ずソートしておく。

フィルタ・サンプリングの他のメソッド

出典・検証情報

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