как назначить нарезку среза в pandas - PullRequest
0 голосов
/ 23 января 2020

У меня есть pandas фрейм данных df , как показано.

   col1  col2
0   NaN     a
1     2     b
2   NaN     c
3   NaN     d
4     5     e
5     6     f

Я хочу найти первое значение NaN в столбце col1 и присвоить ему новое значение. Я пробовал оба следующих метода, но ни один из них не работает.

df.loc[df['col'].isna(), 'col1'][0] = 1

df.loc[df['col'].isna(), 'col1'].iloc[0] = 1

Оба они не показывают никаких ошибок или предупреждений. Но когда я проверяю значение исходного кадра данных, оно не меняется.

Как правильно это сделать?

1 Ответ

0 голосов
/ 23 января 2020

Вы можете использовать .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
...