Advertisements
I have two dataframes:
df1
engine id
F1 D2 J3 100234
F1 D2 J3 100238
K2 JM F2 200788
K2 JM F2 200790
df2
engine id
F1 D2 J3 100234
F1 D2 J3 100244
K2 JM F2 200788
K2 JM F2 200850
K2 JM F2 200690
I would like to extend df1 with rows from df2 that are not found in df1 for that engine and id combination. Resulting df would not contain duplicates and would look something like this:
engine id
F1 D2 J3 100234
F1 D2 J3 100238
K2 JM F2 200788
K2 JM F2 200790
F1 D2 J3 100244
K2 JM F2 200850
K2 JM F2 200690
How can I achieve this?
>Solution :
You can use pd.merge
by specifying your two columns and with how="outer"
:
pd.merge(df1, df2, on=['engine', 'id'], how='outer')
Output:
engine id
0 F1 D2 J3 100234
1 F1 D2 J3 100238
2 K2 JM F2 200788
3 K2 JM F2 200790
4 F1 D2 J3 100244
5 K2 JM F2 200850
6 K2 JM F2 200690