更新时间:2023年04月24日 10:23:40 作者:Bule飞鱼
这篇文章主要介绍了使用python实现excel的Vlookup功能,当我们想要查找的数据量较大时,这时则有请我们的主角VLookup函数出场,那么如何用python实现VLookup呢,需要的朋友可以参考下
python 如何实现Excel 的Vlookup功能
1、Excel 中VLOOKUP具体步骤
Excel 中的VLOOKUP使用说明采用下面的小示例进行说明:
背景:目前有两个基础表,分别是 学号-姓名 关系表,学号-课程 关系表。
目的:最终生成 学号-姓名-课程 关系表。
vlookup语法:VLOOKUP(查找值,数据表,列序数,[匹配条件])
注意:vlookup属于要注意匹配的左右。比如用学号来匹配课程的话,查找值就是学号,数据表就是学生-课程表。列序数就是课程所在的第2列。匹配条件 一般是FALSE,即精确匹配。
需要注意的是:vlookup使用的是python中的left模式。
查找表没有对应学号的,匹不出相应的值,在基础表上就会显示 #N/A;
查找表有对应学号的,且有重复值时,在基础表上只会优先匹配第一个值(这部分在python中,将全部都匹配上重复的。)
2、Python中使用pandas包中的pd.merge()来实现
利用pd.merge()将DataFrame 和 Series进行匹配。
?
1
2
3
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
显示合并数据中数据来自哪个表
注意事项:
当两个表用于连接的列名相同时,只需用on 来连接 ;
当两个表用于连接的列名不同时,则需要使用left_on和right_on分别连接。
如果是两个DataFrame 进行匹配时,则匹配后会将DataFrame中所有的列都添加进去。
vlookup中的匹配连接方式属于how=left。
重复行会全部匹配。
下面是两个表:
为方便大家理解,下面是python 中不同匹配方式的结果:
示例示例
上述语法也可以使用下面的方式:
到此这篇关于使用python实现excel的Vlookup功能的文章就介绍到这了,更多相关python实现excel的Vlookup内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
python轻松办公将100个Excel中符合条件的数据汇总到1个Excel里
Python一行代码识别发票并保存Excel示例详解
通过python模糊匹配算法对两个excel表格内容归类
如何在Python中导入EXCEL数据
Python Excel数据处理之xlrd/xlwt/xlutils模块详解
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
原文链接:https://blog.csdn.net/katherine717/article/details/125278247
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
联系客服