df = pd.DataFrame({"a":[1,2,3,4,5], "b":['apple pie','banana pie','cat','dog','elephant']})
df2 = pd.DataFrame({"a":[4,5,6,7,8], "cost":[44,55,56,88,77]})
pd.merge(df,df2, on='a')
This gives me this dataframe
   a         b  cost
0  4       dog    44
1  5  elephant    55
Instead, I am trying to get a DataFrame where the values of a that did not find a merging partner (1,2,3,7,8) would be kept.
df.merge(df2, how='left') returns this:
   a           b  cost
0  1   apple pie   NaN
1  2  banana pie   NaN
2  3         cat   NaN
3  4         dog  44.0
4  5    elephant  55.0
Almost what I need, but some values in df2 (a = 6,7,8) are left out.
Edit: Solution found. df.merge(df2, on='a', how='outer')
