Как заменить в датафрейме 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
