使用python实现excel的Vlookup功能

 更新时间:2023年04月24日 10:23:40   作者:Bule飞鱼  
这篇文章主要介绍了使用python实现excel的Vlookup功能,当我们想要查找的数据量较大时,这时则有请我们的主角VLookup函数出场,那么如何用python实现VLookup呢,需要的朋友可以参考下

python 如何实现Excel 的Vlookup功能

1、Excel 中VLOOKUP具体步骤

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

  1. 背景:目前有两个基础表,分别是 学号-姓名 关系表,学号-课程 关系表。
  2. 目的:最终生成 学号-姓名-课程 关系表。
  3. vlookup语法:VLOOKUP(查找值,数据表,列序数,[匹配条件])
  4. 注意:vlookup属于要注意匹配的左右。比如用学号来匹配课程的话,查找值就是学号,数据表就是学生-课程表。列序数就是课程所在的第2列。匹配条件 一般是FALSE,即精确匹配。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

需要注意的是: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 中不同匹配方式的结果:

示例示例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

到此这篇关于使用python实现excel的Vlookup功能的文章就介绍到这了,更多相关python实现excel的Vlookup内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python类继承和多态原理解析

    Python类继承和多态原理解析

    这篇文章主要介绍了python类继承和多态原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 关于torch中tensor数据类型的转换

    关于torch中tensor数据类型的转换

    这篇文章主要介绍了关于torch中tensor数据类型的转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python网络请求库requests的10个基本用法

    Python网络请求库requests的10个基本用法

    今天我们要聊聊Python中非常实用的一个库——requests,这个库让发送HTTP请求变得超级简单,无论你是想抓取网页数据还是测试API接口,requests都能派上大用场,下面我们就一起来看看如何使用requests完成一些常见的任务,需要的朋友可以参考下
    2024-10-10
  • 分享Pycharm中一些不为人知的技巧

    分享Pycharm中一些不为人知的技巧

    工欲善其事必先利其器,Pycharm 是最受欢迎的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖掘出里面实用技巧,能带来事半功倍的效果
    2018-04-04
  • OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现

    OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现

    这篇文章主要介绍了OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • pandas apply 函数 实现多进程的示例讲解

    pandas apply 函数 实现多进程的示例讲解

    下面小编就为大家分享一篇pandas apply 函数 实现多进程的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • pycharm安装django框架详细图文教程(指定版本)

    pycharm安装django框架详细图文教程(指定版本)

    这篇文章主要给大家介绍了关于pycharm安装django框架(指定版本)的相关资料,PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,需要的朋友可以参考下
    2023-10-10
  • Python 随机按键模拟2小时

    Python 随机按键模拟2小时

    这篇文章主要介绍了Python 随机按键模拟的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python 动态导入模块实现模块热更新的方法

    python 动态导入模块实现模块热更新的方法

    这篇文章主要介绍了python 动态导入模块,实现模块热更新,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Django各种缓存的配置小结  

    Django各种缓存的配置小结  

    本文主要介绍了Django各种缓存的配置小结 ,Django提供了多种缓存后端,如内存缓存、文件缓存、数据库缓存、Memcached和Redis等,根据项目需求选择合适的缓存后端,下面就一起来了解一下吧
    2023-08-08

最新评论