トップ / 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)