一分钟学会Python这个硬核操作

给定两个数据表: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 ,点击发送获取【正则测试器,免安装版】下载链接。

原文发布于微信公众号 - Python与机器学习算法频道(alg-channel)

原文发表时间:2019-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券