トップ / Null処理
NULL(欠損)を指定した値で埋めます。
df.na.fill({"age": 0, "status": "unknown"})
ldf.with_columns(pl.col("age").fill_null(0), pl.col("status").fill_null(pl.lit("unknown")))
Snowparkは列名と埋める値の辞書をna.fill()に渡し、対応するSQLに展開されます。Polarsは列ごとに.fill_null()をwith_columnsへ並べます。書き方は違いますが、どちらも「指定した列のNULLだけを値で置き換える」という狙いは同じです。
【Polars 側の落とし穴】整数列に浮動小数点数で埋めると、エラーにならずに型が変わります。Polars で整数列(i64)にfill_null(0.0)のような浮動小数点数を渡すと、例外を出さずに列全体の型がこっそりf64へ変わります(Polars 1.43.2 で実行して確認)。「型エラーで気づける」と思っていると危険で、後続の処理で誤差や想定外の桁が出てから気づくことになりやすいです。整数列を保ちたいときは、埋める値の型(0か0.0か)を明示的に意識します。
Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-25)