用100填充数据帧第一行的Null值

时间:2019-06-30 12:32:08

标签: python-3.x pandas dataframe

我有一个看起来像这样的数据框:

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

如果您能帮助我实现这一目标,我将不胜感激。

2 个答案:

答案 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)