pandas库中的pd.merge()函数

pd.merge()的作用是用数据库样式的连接合并DataFrame或者已命名的Series。

pd.merge( x,y, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)

参数说明:

x:左数据对象。

y:右数据对象。

how:数据对象连接的方式,inner、outer、left、right。

left_on:左数据对象用于连接的键。

right_on:右数据对象用于连接的键。

参数how定义了四种合并方式:

(1)inner:内连接,连接两个数据对象中键值交集的行,其余忽略。

(2)outer:外连接,连接两个数据对象中键值并集的列。

(3)left:左连接,取出x的全部行,连接y中匹配的键值行。

(4)right:右连接,取出y的全部行,连接x中匹配的键值行。

使用第(1)种方式合并时,没有匹配到时,将会丢失。

使用第(2)、(3)、(4)种方式合并,当某列数据不存在时自动填充NaN。

和pd.concat()不同,pd.merge()只能用于两个表的拼接,而且通过参数名称也能看出连接方向是左右拼接,一个左表一个右表,而且参数中没有指定拼接轴的参数,所以pd.merge()不能用于表的上下拼接。如果需要拼接的两个表中,有相同的列信息,那么进行拼接的时候即使不指定以哪个字段作为主键函数也会默认用信息相同的列做主键对两个表进行拼接,如下例:

 

下面给参数on一值来指定主键,看一下结果是怎样的

 由于两个对象中均有“序号”与“性别”,我们以“序号”为主键,这时“性别”便重复留下了,针对这种问题,我们可以给予两个主键

 

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨小古

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值