网络编程
位置:首页>> 网络编程>> Python编程>> 使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

作者:Bule飞鱼  发布时间:2023-05-01 20:15:15 

标签:python,实现,excel,Vlookup

python 如何实现Excel 的Vlookup功能

1、Excel 中VLOOKUP具体步骤

Excel 中的VLOOKUP使用说明采用下面的小示例进行说明:

  1. 背景:目前有两个基础表,分别是 学号-姓名 关系表,学号-课程 关系表。

  2. 目的:最终生成 学号-姓名-课程 关系表。

  3. vlookup语法:VLOOKUP(查找值,数据表,列序数,[匹配条件])

  4. 注意:vlookup属于要注意匹配的左右。比如用学号来匹配课程的话,查找值就是学号,数据表就是学生-课程表。列序数就是课程所在的第2列。匹配条件 一般是FALSE,即精确匹配。

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

需要注意的是:vlookup使用的是python中的left模式。

查找表没有对应学号的,匹不出相应的值,在基础表上就会显示 #N/A;

查找表有对应学号的,且有重复值时,在基础表上只会优先匹配第一个值(这部分在python中,将全部都匹配上重复的。)

2、Python中使用pandas包中的pd.merge()来实现

利用pd.merge()将DataFrame 和 Series进行匹配。

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

 参数说明:

参数说明
left左表
right右表
how连接方式,inner、left、right、outer,默认为inner
on用于连接的列名称
left_on左表用于连接的列名
right_on右表用于连接的列名
left_index是否使用左表的行索引作为连接键,默认False
right_index是否使用右表的行索引作为连接键,默认False
sort默认为False,将合并的数据进行排序
copy默认为True,总是将数据复制到数据结构中,设置为False可以提高性能
suffixes存在相同列名时在列名后面添加的后缀,默认为(’_x’, ‘_y’)
indicator显示合并数据中数据来自哪个表

注意事项:

  1. 当两个表用于连接的列名相同时,只需用on 来连接 ;

  2. 当两个表用于连接的列名不同时,则需要使用left_on和right_on分别连接。

  3. 如果是两个DataFrame 进行匹配时,则匹配后会将DataFrame中所有的列都添加进去。

  4. vlookup中的匹配连接方式属于how=left。

  5. 重复行会全部匹配。

下面是两个表:

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

为方便大家理解,下面是python 中不同匹配方式的结果:

示例示例

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

使用python实现excel的Vlookup功能

上述语法也可以使用下面的方式:

使用python实现excel的Vlookup功能

来源:https://blog.csdn.net/katherine717/article/details/125278247

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com