我有一个看起来像这样的数据框:
51183 53423 51989 52483 51342
100 NaN NaN 83.33 NaN
NaN NaN 50 25 12.5
这里'51183','53423'....是列名。我想用100填充第一行中的空值。
我尝试这样做:
df[:1].fillna(100)
它只是将第一行中的空值更改为100,但不会在数据框中更新它。
我希望结果看起来像这样:
51183 53423 51989 52483 51342
100 100 100 83.33 100
NaN NaN 50 25 12.5
如果您能帮助我实现这一目标,我将不胜感激。
答案 0 :(得分:1)
要更新该行,请尝试以下操作:
df[:1] = df[:1].fillna(100)
答案 1 :(得分:1)
您的尝试几乎可以。
df[:1]
获取第一行,但将其视为该行的副本。
然后.fillna(100)
将所有 NaN 值更改为 100 ,但在此副本中 ,
不在桌子上。
尝试添加inplace=True
:
df[:1].fillna(100, inplace=True)
可以完成工作,但是还会发出 SettingWithCopyWarning 警告。
在没有此警告的情况下执行工作的方法例如使用 .iloc ,然后使用 .fillna :
df.iloc[0].fillna(100, inplace=True)