Как заменить в датафрейме NaN на значения из другой таблицы

введите сюда описание изображения

Подскажите! Есть таблица А1 и А2. Как заменить пропуски в первой таблице в стобце "А", на значения столбца "А" из второй таблицы, по "id"(не по индексу!)? Спасибо.


Ответы (1 шт):

Автор решения: strawdog

При исходных:

df1:
   id    A     B
0   0  1.0  11.0
1  11  2.0  12.0
2  22  3.0  13.0
3  33  NaN  14.0
4  41  5.0  15.0
5  55  6.0  16.0
6  66  NaN  17.0
7  77  NaN  18.0
8  81  9.0  19.0
df2:
   id    A
0   0  101
1  11  202
2  22  303
3  33  404
4  41  505
5  55  606
6  66  707
7  77  808
8  81  909

можно сделать так:

df1 = df1.set_index("id").combine_first(df2.set_index("id")).reset_index()

тогда df1 будет:

   id      A     B
0   0    1.0  11.0
1  11    2.0  12.0
2  22    3.0  13.0
3  33  404.0  14.0
4  41    5.0  15.0
5  55    6.0  16.0
6  66  707.0  17.0
7  77  808.0  18.0
8  81    9.0  19.0​
→ Ссылка