我正在嘗試使用 pd.DataFrame.fillna(previous_value, value, inplace = True) 將特定位置的 NA 值替換為另一個值。雖然在運行過程中沒有報錯,但是原來的Na值還沒有被替換。Data[pd.isnull(Data["gender"])]數(shù)據(jù)輸出:替換代碼: Data.loc[[2956]]["gender"].replace(np.nan, "F",inplace = True)更換后的數(shù)據(jù)Data.loc[[2956]]替換后的數(shù)據(jù)集:知道它是怎么發(fā)生的嗎?
5 回答

慕哥6287543
TA貢獻1831條經(jīng)驗 獲得超10個贊
Dataframe.replace并不是要替換單個位置的值,而是要替換與某物對應的所有值。因此,在您的示例中,通過使用替換,您可以獲得的最佳結(jié)果是將“Scout Schultz”和“Tk Tk”的性別設(shè)置為“F”。
由于您知道第 2956 行的“性別”列中有 NaN,因此您可以執(zhí)行類似的操作
data.loc[2956,?'gender']?=?'F'

有只小跳蛙
TA貢獻1824條經(jīng)驗 獲得超8個贊
當您使用列和行獲取值時,您獲取的是該值,而不是數(shù)據(jù)框中的那個位置。而且您不能將 replace() 用于單個值。
您可以使用以下方法更改值:
Data["gender"].loc[[2956]] = 'F'
添加回答
舉報
0/150
提交
取消