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)
# print(pd.concat([left, right], join='outer', axis=0))
'''
当数组选用外连接,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
'''
# print(pd.concat([left, right], join='outer', axis=1))
'''
当数组选用外连接,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
'''
# print(pd.concat([left, right], join='inner', axis=0))
'''
当数组选择内部连接,axis=0时:
key B
0 K0 B0
1 K1 B1
2 K2 B2
0 K0 B0
1 K1 B1
2 K2 B2
'''
# print(pd.concat([left, right], join='inner', axis=1))
'''
当数组选择内部连接,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
'''
# 主键合并数据
# 使用merge()函数合并
arr = pd.merge(left, right, on='key') # 以一个关键主键合并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']) # 以两个关键主键合并key
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
'''
pandas----内连接和外连接
最新推荐文章于 2024-04-02 15:54:15 发布