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')