为了账号安全,请及时绑定邮箱和手机立即绑定

Python DataFrame:如何用一个特定位置的值替换 Nan

Python DataFrame:如何用一个特定位置的值替换 Nan

皈依舞 2023-03-30 16:14:09
我正在尝试使用 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'


查看完整回答
反对 回复 2023-03-30
?
临摹微笑

TA贡献1982条经验 获得超2个赞

尝试这个

    Data.loc[[2956]]["gender"].replace(None, "F",inplace = True)


查看完整回答
反对 回复 2023-03-30
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你可以这样做。

df.loc[2956,'gender'] = 'F'


查看完整回答
反对 回复 2023-03-30
?
长风秋雁

TA贡献1757条经验 获得超7个赞

您可以尝试的一种方法是不使用替换。当您知道索引时,只需分配您想要的值代码:

Data.gender[2956]='F'


查看完整回答
反对 回复 2023-03-30
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

当您使用列和行获取值时,您获取的是该值,而不是数据框中的那个位置。而且您不能将 replace() 用于单个值。

您可以使用以下方法更改值:

 Data["gender"].loc[[2956]] = 'F'


查看完整回答
反对 回复 2023-03-30
  • 5 回答
  • 0 关注
  • 475 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信