Python.Pandas Замена отсутствующих значений, на значения из словаря
Есть 2 датафрейма, как мне заменить отсутствующие значения в первом соответствующие во втором:
df = pd.DataFrame([['a',9.1], ['b',None], ['c',None], ['d',9.2], ['e',7.5]], columns=['x','y'])
df2 = pd.DataFrame([['a',9.1], ['b',6.3], ['c',6.1]], columns=['x','y'])
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Ну как-то так что ли:
mask = df['y'].isna()
df.loc[mask, 'y'] = df.merge(df2, on='x').loc[mask, 'y_y']
df
| index | x | y |
|---|---|---|
| 0 | a | 9.1 |
| 1 | b | 6.3 |
| 2 | c | 6.1 |
| 3 | d | 9.2 |
| 4 | e | 7.5 |
Автор решения: strawdog
→ Ссылка
df = df.fillna(df2)
df:
x y
0 a 9.1
1 b 6.3
2 c 6.1
3 d 9.2
4 e 7.5