我正在尝试使用 pd.DataFrame.fillna(previous_value, value, inplace = True) 将特定位置的 NA 值替换为另一个值。虽然在运行过程中没有报错,但是原来的Na值还没有被替换。Data[pd.isnull(Data["gender"])]数据输出:替换代码: Data.loc[[2956]]["gender"].replace(np.nan, "F",inplace = True)更换后的数据Data.loc[[2956]]替换后的数据集:知道它是怎么发生的吗?
5 回答

慕哥6287543
TA贡献1831条经验 获得超10个赞
Dataframe.replace并不是要替换单个位置的值,而是要替换与某物对应的所有值。因此,在您的示例中,通过使用替换,您可以获得的最佳结果是将“Scout Schultz”和“Tk Tk”的性别设置为“F”。
由于您知道第 2956 行的“性别”列中有 NaN,因此您可以执行类似的操作
data.loc[2956, 'gender'] = 'F'

有只小跳蛙
TA贡献1824条经验 获得超8个赞
当您使用列和行获取值时,您获取的是该值,而不是数据框中的那个位置。而且您不能将 replace() 用于单个值。
您可以使用以下方法更改值:
Data["gender"].loc[[2956]] = 'F'
添加回答
举报
0/150
提交
取消