前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一分钟学会Python这个硬核操作

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

作者头像
double
发布2019-05-07 18:10:48
3540
发布2019-05-07 18:10:48
举报
文章被收录于专栏:算法channel算法channel

给定两个数据表:left, right,它们至少存在一个名字相同的列,名字假定为 key,如何连接这两个表?

Python提供了 merge 操作完成这个事情。

left 表的 key取值为:k0, k1, k2; right表的 key取值为:k0, k0, k1

1) 如果 left表的 key 指向 right表,则称此连接方式 how 为: left : 关系图表达为如下:

代码语言:javascript
复制
left    rightk0      k0        k0k1      k1k2      NaN

2) 如果 right表的 key 指向 left表,则称此连接方式 how 为: right

代码语言:javascript
复制
right  leftk0      k0k0      k1      k1

3) 如果只拿 left 和 right表 共有 key建立关系 ,则称此连接方式 how 为: inner

代码语言:javascript
复制
left  rightk0     k0k0     k0k1     k1

4) 如果 left 和 right表的 key合并后再建立关系 ,则称此连接方式 how 为: outer

代码语言:javascript
复制
left  rightk0     k0       k0k1     k1k2     NaN

以上就是merge中连接两个表时,根据key节点建立关系的 4 种方法。

下面通过举例验证

left 和 right 表数据:

代码语言:javascript
复制
left   age1   key0   10   k01   20   k12   30   k2
right   age2   key0   40   k01   50   k02   60   k1

how = 'left'

代码语言:javascript
复制
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'

代码语言:javascript
复制
pd.merge(left,right,how='right',on='key')age1   key   age20   10   k0   401   10   k0   502   20   k1   60

how = 'inner'

代码语言:javascript
复制
pd.merge(left,right,how='inner',on='key')age1   key   age20   10   k0   401   10   k0   502   20   k1   60

how = 'outer'

代码语言:javascript
复制
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 ,点击发送获取【正则测试器,免安装版】下载链接。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档