繁体   English   中英

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

[英]Why am I unable to replace these NA values in one column of my dataframe based on the values in another? [Python]

我有一个包含 2 列的数据框( df3 ): SUBSCRIBEWeeks3Meals

Subscribe是一个分类变量,可以取值( YN ), Weeks3Meals的类型是float 两者都包含缺失值 ( NaN )。

原装 Dataframe:

原始数据框

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

因此,例如,我想用Y替换第3行中SUBSCRIBENA值,因为Weeks3Meals单元格不是NA但有一个值; 见下图:

Subcribe 中带有 NA 但 'Weeks3Meals' 不是 NA 的行

这就是我试图做的:

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

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

运行代码后的DF

我不确定为什么它不起作用。 我会很感激你的帮助。 谢谢你。

你能试试这个吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM