在 pandas 数据框中,如果另一列中的值不是 nan,我想用零替换 nan 值。 我试图改编这个问题的答案:pandas replace null values for a subset of columns
但是,不会替换 nan 值(请参阅下面的代码)。我做错了什么?提前谢谢你。
df.loc[df['Litho'].notnull(),'Mu_alt'].fillna(0, inplace=True)
df.loc[df['Litho'].notnull(),'Mu_alt']
>>>0 NaN
>>>1 NaN
>>>2 NaN
>>>3 NaN
>>>4 NaN
>>>5 NaN
>>>6 NaN
>>>7 NaN
如果我在第一行中将 df['Litho'].notnull()
替换为 :
,则 nan 值将替换为 0。
最佳答案
为避免 chained assignments 分配回替换值:
m = df['Litho'].notnull()
df.loc[m,'Mu_alt'] = df.loc[m,'Mu_alt'].fillna(0)
关于python - pandas 替换行和列子集的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53010254/