為什麼replace()方法不會取代My Pandas DataFrame中的值?
儘管嘗試用簡單的 NaN 替換特定字串DataFrame中,replace()方法似乎無效。例如:
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)
未實現將 'white' 值替換為 NaN 的預期輸出。相反,DataFrame 保持不變。
解決方案:使用 regex=True 啟用部分替換
預設情況下,replace() 方法執行完整字串替換。若要啟用部分替換,必須將 regex 參數設為 True。這個小調整允許我們替換DataFrame 中任何位置的特定字串:
df.replace('white', np.nan, regex=True)
透過此修改, DataFrame 將正確地將所有「白色」實例替換為NaN。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3