我有一个如图所示的熊猫数据框 df 。
col1 col2
0 NaN a
1 2 b
2 NaN c
3 NaN d
4 5 e
5 6 f
我想在col1中找到第一个NaN值,并为其分配一个新值。我已经尝试了以下两种方法,但是它们都不起作用。
df.loc[df['col'].isna(), 'col1'][0] = 1
df.loc[df['col'].isna(), 'col1'].iloc[0] = 1
它们两个都没有显示任何错误或警告。但是当我检查原始数据帧的值时,它没有改变。
正确的方法是什么?
答案 0 :(得分:0)
您可以将.fillna()
与limit=1
参数一起使用:
df['col1'].fillna(1, limit=1, inplace=True)
print(df)
打印:
col1 col2
0 1.0 a
1 2.0 b
2 NaN c
3 NaN d
4 5.0 e
5 6.0 f