Python中merge()函数的三种连接方式
1.内连接
df1 = pd.DataFrame({'a': ['foo', 'bar'], 'b': [1, 2]})
df2=pd.DataFrame({'a': ['foo', 'baz'], 'c': [3, 4]})
df3=df1.merge(df2,how='inner',on='a')
print(df1)
print(df2)
print(df3)
#输出结果
a b
0 foo 1
1 bar 2
a c
0 foo 3
1 baz 4
a b c
0 foo 1 3
2.左连接
`在本例中实际上是取df1的全部数据,然后右侧连接df2
df4=df1.merge(df2,how='left',on='a')
print(df4)
a b c
0 foo 1 3.0
1 bar 2 NaN
3.右连接
右连接左连接正好相反
df5=df1.merge(df2,how='right',on='a')
a b c
0 foo 1.0 3
1 baz NaN 4
df6=df2.merge(df1,how='right',on='a')
print(df6)
a c b
0 foo 3.0 1
1 bar NaN 2