import pandas as pd
left = pd.DataFrame({'key': ['K0', 'K1', 'K2'],
'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']})
print(left)
right = pd.DataFrame({'key': ['K0', 'K1', 'K2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2'],
'D': ['D0', 'D1', 'D2']})
print(right)
'''
当数组选用外连接,axis=0时:
key A B C D
0 K0 A0 B0 NaN NaN
1 K1 A1 B1 NaN NaN
2 K2 A2 B2 NaN NaN
0 K0 NaN B0 C0 D0
1 K1 NaN B1 C1 D1
2 K2 NaN B2 C2 D2
'''
'''
当数组选用外连接,axis=1时:
key A B key B C D
0 K0 A0 B0 K0 B0 C0 D0
1 K1 A1 B1 K1 B1 C1 D1
2 K2 A2 B2 K2 B2 C2 D2
'''
'''
当数组选择内部连接,axis=0时:
key B
0 K0 B0
1 K1 B1
2 K2 B2
0 K0 B0
1 K1 B1
2 K2 B2
'''
'''
当数组选择内部连接,axis=1时:
key A B key B C D
0 K0 A0 B0 K0 B0 C0 D0
1 K1 A1 B1 K1 B1 C1 D1
2 K2 A2 B2 K2 B2 C2 D2
'''
arr = pd.merge(left, right, on='key')
print(arr)
'''
key A B_x B_y C D
0 K0 A0 B0 B0 C0 D0
1 K1 A1 B1 B1 C1 D1
2 K2 A2 B2 B2 C2 D2
'''
arr1 = pd.merge(left, right, on=["key", 'B'])
print(arr1)
'''
key A B C D
0 K0 A0 B0 C0 D0
1 K1 A1 B1 C1 D1
2 K2 A2 B2 C2 D2
'''