python利用pandas对两张excel表合并(二)

昨天,利用pandas中的concat函数进行了两张表的行合并。今天,看一下列的合并,如下图所示:在这里插入图片描述
预期结果如下:
在这里插入图片描述
1、代码实现如下:

import pandas as pd
# 读取表1
df1 = pd.read_excel(r'D:/myExcel/1.xlsx', 'Sheet1')
# 读取表2
df2 = pd.read_excel(r'D:/myExcel/2.xlsx', 'Sheet1')
# 进行合并,重点看on参数,on参数指的是依据哪一列进行合并,当然也可以添加两列
# 值得注意的是,此处无论依据哪一列或者哪几列进行合并,均需要尽量确保此列或者
# 此几列中的值能够是唯一的,否则容易出错
df = pd.merge(df1, df2, on=['name'])
df.to_excel(r'D:/myExcel/res.xlsx', 'Sheet1', index=None)

2、下面看一下,当on中列举的值不是唯一时的情况
在这里插入图片描述
如上图所示,name中出现了两个bob,运行同样的程序代码,结果如下图所示:
拼接结果出现了4行有关bob的记录。这是因为on拼接实质是依据数学上的笛卡尔积的拼接结果。需要强调的事尽量满足作为拼接条件的列中的值或者某几列的值能够确定唯一一个值。
在这里插入图片描述
下面,我把官方对on参数的说明附在文章最后,可以认真阅读一下:
on : label or list
Column or index level names to join on. These must be found in both
DataFrames. If on is None and not merging on indexes then this defaults
to the intersection of the columns in both DataFrames

哈哈,今天分享到这,明天我将就merge中的left_on, right_on,以及on参数三个参数的区别分享一下。如果有兴趣,可以关注一下我的微信公众号:python小工具。让我们一起让办公变得更方便吧
在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值