ホームページ >バックエンド開発 >Python チュートリアル >私の Pandas DataFrame は値を「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 サイトの他の関連記事を参照してください。