[Python] pandas下merge函数的使用

简介

python中的pandas库拥有类似于sql server 中 join数据合并函数merge()

其语法格式如下:

pandas.merge(left(主表), right(副表), how='merge的方法', on='基于什么去merge(只用on的话两张表必须是同一字段名称)', left_on='主表基于什么去merge', right_on='副表基于什么去merge', left_index='是否使用主表的index', right_index='是否使用副表的index', sort='是否排序', suffixes=('_x', '_y') '用于重叠列的字符串后缀元组' , copy='是否始终从传递的DataFrame对象复制数据', indicator='是否包含有关每行源的信息', validate='基于什么去验证')

上述语法格式中:

  • ‘是否’的默认值都为:True
  • ‘基于’的默认值都为:None

how 中merge的方法,其默认值为’inner’,其主要方法有如下几种:

  1. left:同sql中 LEFT OUTER JOIN;使用主表中的key;主表不被筛选
  2. right:同sql中 LEFT OUTER JOIN;使用副表中的key;副表不被筛选
  3. outer:同sql中 FULL OUTER JOIN;使用主表和副表中的key union后的结果;即结果为union后的结果
  4. inner:同sql中 INNER JOIN;使用主表和副表中的key的交集结果;即结果为主表和副表相交的结果

实例

现在有两张表,将table1作为主表,table2作为副表(其index为时间类型),在不改变table1情况下与table2 merge。

代码展示:

import pandas as pd
pd.merge(table1,table2,left_on=table1['datetime'],right_on=table2.index)

输出为:
在这里插入图片描述
解释:

  • 图中1部分为,merge时使用的key,即table1[‘datetime’]字段
  • 图中2部分为,table1 内容
  • 图中3部分为,table2 内容
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AutismThyself

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

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

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

打赏作者

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

抵扣说明:

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

余额充值