Как объединить 2 датафрейма по значениям?
Есть 2 датафрейма:
| a | b |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
и
| a | b |
|---|---|
| 1 | x |
| 2 | y |
| 10 | z |
Как объединить датафреймы так, чтобы значения(b) из 2-го датафрейма попали в значения 1-го по совпадению колонки a, если будет значение a, которого нет в 1 датафрейме, то его не добавлять?
Вот как будет выглядеть итог:
| a | b |
|---|---|
| 1 | x |
| 2 | y |
| 3 | 3 |
| 4 | 4 |
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
можно обойтись обычным маппингом:
df1["b"] = df1["b"].map(df2.set_index("a")["b"]).fillna(df1["b"])
теперь df1:
a b
0 1 x
1 2 y
2 3 3
3 4 4