Для такого слияния полезен метод update
объекта DataFrame.
Взяв примеры из документации :
import pandas as pd
import numpy as np
df1 = pd.DataFrame([[np.nan, 3., 5.], [-4.6, np.nan, np.nan],
[np.nan, 7., np.nan]])
df2 = pd.DataFrame([[-42.6, np.nan, -8.2], [-5., 1.6, 4]],
index=[1, 2])
Данные доupdate
:
>>> df1
0 1 2
0 NaN 3.0 5.0
1 -4.6 NaN NaN
2 NaN 7.0 NaN
>>>
>>> df2
0 1 2
1 -42.6 NaN -8.2
2 -5.0 1.6 4.0
Давайте обновим df1
данными из df2
:
df1.update(df2)
Данные после обновления:
>>> df1
0 1 2
0 NaN 3.0 5.0
1 -42.6 NaN -8.2
2 -5.0 1.6 4.0
Примечания:
- Важно отметить, что это операция "на месте", модифицирующая DataFrame, который вызывает
update
.