给定两个数据表:left, right,它们至少存在一个名字相同的列,名字假定为 key,如何连接这两个表?
Python提供了 merge 操作完成这个事情。
left 表的 key取值为:k0, k1, k2; right表的 key取值为:k0, k0, k1
1) 如果 left表的 key 指向 right表,则称此连接方式 how 为: left : 关系图表达为如下:
left rightk0 k0 k0k1 k1k2 NaN
2) 如果 right表的 key 指向 left表,则称此连接方式 how 为: right
right leftk0 k0k0 k1 k1
3) 如果只拿 left 和 right表 共有 key建立关系 ,则称此连接方式 how 为: inner
left rightk0 k0k0 k0k1 k1
4) 如果 left 和 right表的 key合并后再建立关系 ,则称此连接方式 how 为: outer
left rightk0 k0 k0k1 k1k2 NaN
以上就是merge中连接两个表时,根据key节点建立关系的 4 种方法。
下面通过举例验证
left 和 right 表数据:
left age1 key0 10 k01 20 k12 30 k2
right age2 key0 40 k01 50 k02 60 k1
how = 'left'
pd.merge(left,right,how='left',on='key') age1 key age20 10 k0 40.01 10 k0 50.02 20 k1 60.03 30 k2 NaN
how = 'right'
pd.merge(left,right,how='right',on='key')age1 key age20 10 k0 401 10 k0 502 20 k1 60
how = 'inner'
pd.merge(left,right,how='inner',on='key')age1 key age20 10 k0 401 10 k0 502 20 k1 60
how = 'outer'
pd.merge(left,right,how='outer',on='key')age1 key age20 10 k0 40.01 10 k0 50.02 20 k1 60.03 30 k2 NaN
Python与机器学习算法频道公众号界面,下面输入文本框内输入:re ,点击发送获取【正则测试器,免安装版】下载链接。
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!