import pandas as pd
left =pd.DataFrame({ 'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3'],
'key':['K0','K1','K2','K3'],})
right =pd.DataFrame({ 'C':['C0','C1','C2','C3'],
'D':['D0','D1','D2','D3'],
'key':['K0','K1','K2','K3'],})
left
right
merge:合并javascript
pd.merge(left,right)#直接合并,重复的就再也不显示
pd.merge(left,right,on='key')#以key为界进行合并
left =pd.DataFrame({ 'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3'],
'key1':['K0','K1','K2','K3'],
'key2':['K0','K1','K2','K3']})
right =pd.DataFrame({ 'C':['C0','C1','C2','C3'],
'D':['D0','D1','D2','D3'],
'key1':['K0','K1','K2','K3'],
'key2':['K0','K1','K2','K3']})
left
right
pd.merge(left,right)#直接合并,重复的就再也不显示
pd.merge(left,right,on='key1')#以key1为界进行合并,key2自动分组
pd.merge(left,right,on=['key1','key2'])#以key1,key2为界进行合并
使key2的值不彻底同样,right改为K4css
right =pd.DataFrame({ 'C':['C0','C1','C2','C3'],
'D':['D0','D1','D2','D3'],
'key1':['K0','K1','K2','K3'],
'key2':['K0','K1','K2','K4']})
pd.merge(left,right,on=['key1','key2'])#以key1,key2为界进行合并,可是key2不一样的那一行就被删除
pd.merge(left,right,on=['key1','key2'],how='outer')#how='outer'为并集,可是默认是交集
pd.merge(left,right,on=['key1','key2'],how='outer',indicator=True)#指定当前的merge是交集仍是并集
pd.merge(left,right,on=['key1','key2'],how='left')#how='left'指定以left为基准,也能够指定其余为基准