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')
这给了我这个数据框
a b cost
0 4 dog 44
1 5 elephant 55
相反,我试图获取一个DataFrame,其中将保留未找到合并伙伴(1,2,3,7,8)的a的值。
df.merge(df2, how='left')
返回此:
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
几乎是我所需要的,但是df2中的一些值(a = 6,7,8)被忽略了。
编辑:找到解决方案。 df.merge(df2, on='a', how='outer')