トップ / Null処理

na.replace

特定の値(NULLとは限らない)を、別の値に一括で置き換える。

SNOWPARK 静的検証のみ

df.na.replace("N/A", None, subset=["status"])  # "N/A" という文字列をNULLに変換

POLARS 実行確認済み

df.with_columns(pl.col("status").replace("N/A", None))

挙動・設計の違い

na.fill(NULLを値で埋める)・na.drop(NULLの行を消す)とは違い、na.replaceNULLかどうかに関係なく、指定した特定の値を別の値に置き換える(今回の例では逆に「文字列の"N/A"をNULLにする」)。Polarsの.replace()str.replaceではなくExpr直下のもの)も値の対応表(マッピング)で置き換えるという同じ考え方で、実行して確認したところ"N/A"だけがnullに置き換わり他の値はそのまま残る。

移行時の落とし穴

似た名前のstr.replace(文字列の部分一致を置換)と混同しやすいna.replaceExpr.replace値そのものが完全一致したときだけ置き換える辞書的な操作で、containsのページで説明した正規表現や部分一致とは無関係。replaceという同じ単語が「部分文字列の置換」と「値の対応表による置換」という性質の異なる2つの操作を指しており、Polars側は.str.replace()(文字列部分一致)と.replace()(値マッピング、.strを付けない)という名前空間の有無だけで区別される点に注意。

Null処理の他のメソッド

出典・検証情報

Polars 1.36.1 で実行確認 / Snowpark Python SDK 1.51.1 で静的検証(2026-08-31)