首頁 >後端開發 >Python教學 >為什麼我的 Pandas DataFrame 不使用'replace()”替換值?

為什麼我的 Pandas DataFrame 不使用'replace()”替換值?

Linda Hamilton
Linda Hamilton原創
2024-10-27 02:17:30193瀏覽

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

為什麼replace()方法不會取代我的Pandas DataFrame中的值?

儘管嘗試用簡單的 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 將正確地用 NaN 替換所有「white」實例。

以上是為什麼我的 Pandas DataFrame 不使用'replace()”替換值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn