トップ / Null処理
特定の値(NULLとは限らない)を、別の値に一括で置き換える。
df.na.replace("N/A", None, subset=["status"]) # "N/A" という文字列をNULLに変換
df.with_columns(pl.col("status").replace("N/A", None))
na.fill(NULLを値で埋める)・na.drop(NULLの行を消す)とは違い、na.replaceはNULLかどうかに関係なく、指定した特定の値を別の値に置き換える(今回の例では逆に「文字列の"N/A"をNULLにする」)。Polarsの.replace()(str.replaceではなくExpr直下のもの)も値の対応表(マッピング)で置き換えるという同じ考え方で、実行して確認したところ"N/A"だけがnullに置き換わり他の値はそのまま残る。
似た名前のstr.replace(文字列の部分一致を置換)と混同しやすい。na.replace/Expr.replaceは値そのものが完全一致したときだけ置き換える辞書的な操作で、containsのページで説明した正規表現や部分一致とは無関係。replaceという同じ単語が「部分文字列の置換」と「値の対応表による置換」という性質の異なる2つの操作を指しており、Polars側は.str.replace()(文字列部分一致)と.replace()(値マッピング、.strを付けない)という名前空間の有無だけで区別される点に注意。
Polars 1.36.1 で実行確認 / Snowpark Python SDK 1.51.1 で静的検証(2026-08-31)