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小工具。让我们一起让办公变得更方便吧
在这里插入图片描述

发布了13 篇原创文章 · 获赞 1 · 访问量 213

猜你喜欢

转载自blog.csdn.net/weixin_45144170/article/details/104369283