ホームページ >バックエンド開発 >Python チュートリアル >私の Pandas DataFrame は値を「replace()」で置き換えないのはなぜですか?

私の Pandas DataFrame は値を「replace()」で置き換えないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 02:17:30197ブラウズ

Why Isn't My Pandas DataFrame Replacing Values with `replace()`?

Pandas DataFrame の値を replace() メソッドで置き換えないのはなぜですか?

単純なメソッドで特定の文字列を NaN に置き換えようとしているにもかかわらず、 DataFrame では、replace() メソッドは効果がないようです。例:

<code class="python">d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)</code>

「白」値が NaN に置き換えられた、期待された出力は得られません。代わりに、DataFrame は変更されません。

解決策: regex=True で部分置換を有効にする

デフォルトでは、replace() メソッドは完全な文字列置換を実行します。部分置換を有効にするには、regex パラメータを True に設定する必要があります。この小さな調整により、DataFrame 内の任意の場所で特定の文字列を置き換えることができます。

<code class="python">df.replace('white', np.nan, regex=True)</code>

この変更により、DataFrame は「white」のすべてのインスタンスを NaN に正しく置き換えます。

以上が私の Pandas DataFrame は値を「replace()」で置き換えないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。