我有一个包含许多列的数据框,例如:
df:
name salary age title
John 100 35 eng
Bill 200 NaN adm
Lena NaN 28 NaN
Jane 120 45 eng
我想要替换薪资和年龄列中的空值,但不想替换其他列。我知道可以像这样操作:
u = df[['salary', 'age']]
df[['salary', 'age']] = u.fillna(-1)
但这似乎很简洁,因为它涉及复制。有更有效的方法吗?
df.loc[:, ['salary', 'age']].fillna(-1, inplace=True)
- breezymridf.loc[:, ['salary', 'age']] = df.loc[:, ['salary', 'age']].fillna(-1)
是可行的。 - Francis Smart