為什麼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中文網其他相關文章!