为什么我无法根据另一列中的值替换数据框中一列中的这些NA值? [Python]

问题描述 投票:0回答:1

我有一个具有两列的数据帧(df3):SUBSCRIBEWeeks3Meals

Subscribe是分类变量,可以采用值(YN),并且Weeks3Meals的类型为float。两者都包含缺失值(NaN)。

原始数据框:

Original Dataframe

我想用Y替换,如果相应的NA单元格不是Subscribe,则在Weeks3Meals中所有具有NA的单元格。

例如,我想用NA替换行SUBSCRIBE3Y值,因为Weeks3Meals单元格不是NA而是具有值;见下图:

rows with NA in Subcribe but where 'Weeks3Meals' is not NA

这是我试图做的事情:

df3['SUBSCRIBE'][df3['Weeks3Meals'].notnull()].fillna('Y', inplace = True).

但是当我打印出数据框时,NA值不会被替换,并且行保持不变:

DF after running code

我不确定为什么它不起作用。多谢您的协助。谢谢。

python pandas missing-data
1个回答
0
投票

您可以尝试这个吗?

df3.loc[(df3['Weeks3Meals'].notnull()) & (df3['SUBSCRIBE'].isnull()), 'SUBSCRIBE'] ='Y'

© www.soinside.com 2019 - 2024. All rights reserved.