pandas----内连接和外连接

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
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值