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

我正在尝试使用 pd.DataFrame.fillna(previous_value, value, inplace = True) 将特定位置的 NA 值替换为另一个值。虽然在运行过程中没有报错,但是原来的Na值还没有被替换。

Data[pd.isnull(Data["gender"])]

数据输出:

http://img3.mukewang.com/642544fc0001eb6c06560135.jpg

替换代码:

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

更换后的数据

Data.loc[[2956]]

替换后的数据集:

http://img4.mukewang.com/64254507000134d406510132.jpg

知道它是怎么发生的吗?



皈依舞
浏览 476回答 5
5回答

慕哥6287543

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

临摹微笑

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

慕婉清6462132

你可以这样做。df.loc[2956,'gender'] = 'F'

长风秋雁

您可以尝试的一种方法是不使用替换。当您知道索引时,只需分配您想要的值代码:Data.gender[2956]='F'

有只小跳蛙

当您使用列和行获取值时,您获取的是该值,而不是数据框中的那个位置。而且您不能将 replace() 用于单个值。您可以使用以下方法更改值: Data["gender"].loc[[2956]] = 'F'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python