python实现excel Vlookup功能

2023-11-13

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_onright_on分别连接。
  3. 如果是两个DataFrame 进行匹配时,则匹配后会将DataFrame中所有的列都添加进去。
  4. vlookup中的匹配连接方式属于how=left
  5. 重复行会全部匹配。

下面是两个表:
在这里插入图片描述 在这里插入图片描述

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

示例 示例
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

上述语法也可以使用下面的方式:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实现excel Vlookup功能 的相关文章

随机推荐

  • altium designer芯片引脚间距规则过小

    AD中芯片的引脚间距过小 例如stm32这种MCU 引脚又细又密 违反了默认间距规则 如上图所示的16mil 而触发绿色的报错 但是我们又不能因噎废食 而把整个PCB规则间距改大 因此最好的解决方案是 只修改这一个芯片的间距规则 依次点击
  • 云汉芯城js逆向分析-v,t,s参数

    介绍 查看搜索的接口 很明显需要这几个参数 keyword 2N7002 搜索输入的关键词 font ident 945a41f33fc9693c 如下图 第一次访问的页面 返回的html里找 v 1655799627669 时间戳 t 1
  • Android平台GB28181设备接入模块相关博客概览

    Android平台GB28181设备接入模块 可实现不具备国标音视频能力的 Android终端 通过平台注册接入到现有的GB T28181 2016服务 可用于如智能监控 智慧零售 智慧教育 远程办公 生产运输 智慧交通 车载或执法记录仪等
  • 从零开始 verilog 以太网交换机(六)帧处理单元设计与实现

    从零开始 verilog 以太网交换机 六 帧处理单元设计与实现 声明 博主主页 王 嘻嘻的CSDN主页 从零开始 verilog 以太网交换机系列专栏 点击这里 未经作者允许 禁止转载 侵权必删 关注本专题的朋友们可以收获一个经典交换机设
  • 数据结构——栈(stack)

    一 顺序栈 栈 stack 是一种运算受限的线性表 其限制是仅允许在表的一端进行插入和删除运算 这一端被称为栈顶 相对地 把另一端称为栈底 向一个栈插入新元素又称作进栈 入栈或压栈 它是把新元素放到栈顶元素的上面 使之成为新的栈顶元素 从一
  • java中如何从一个url的字符串中提取出ip、port等信息

    欢迎访问个人博客 德鲁大叔撸代码 项目中有一个功能是 把我生成的对账单推送到商户指定的sftp服务器上 要上传文件到sftp那必须的就有以下几个数据 sftp的ip sftp所指向的port sftp的用户名 sftp的密码 指定sftp上
  • 安装HP LaserJet 1320n打印机驱动

    该打印机型号比较老了 不是网络打印机 只能通过并口或USB安装 由于笔记本不带并口 现在台式机基本都不带了 只能选择USB安装 折腾了好久 才找到正确的安装方法 特分享给大家 首先 就是找到正确的驱动 我的笔记本是win8 64bit的 所
  • Ioc容器refresh总结(4)--- Spring源码从入门到精通(三十四 )

    上偏文章介绍了 registerBeanPostProcessor 分别按优先级顺序先注册PriorityOrdered和Ordered接口 第三部注册没有实现接口的beanPostProcessor 最后注册mergedBeanDefin
  • 特征选取1-from sklearn.feature_selection import SelectKBest

    sklearn实战 乳腺癌细胞数据挖掘 博主亲自录制视频 https study 163 com course introduction htm courseId 1005269003 utm campaign commission utm
  • 从入门到入土:[SEED-Lab]-SQL注入攻击

    此博客仅用于记录个人学习进度 学识浅薄 若有错误观点欢迎评论区指出 欢迎各位前来交流 部分材料来源网络 若有侵权 立即删除 本人博客所有文章纯属学习之用 不涉及商业利益 不合适引用 自当删除 若被用于非法行为 与我本人无关 SEED Lab
  • Flex 学习资源

    Action Script 3 0 帮助 http help adobe com zh CN ActionScript 3 0 ProgrammingAS3 Flex 实例 http blog minidx com 2009 04 06 2
  • 计算机文献汇报ppt,常见的研究生文献汇报.ppt

    常见的研究生文献汇报 Example two Fig 9 shows a schematic illustration of the synthesis routes of single molecular nano particles m
  • 《Android 开发艺术探索》笔记7--RemoteViews的内部机制和意义

    RemoteViews的内部机制和意义思维导图 RemoteViews的内部机制 RemoteViews的意义可以模拟一个通知栏效果并实现跨进程的UI更新 参看文章 RemoteViews的内部机制和意义思维导图 RemoteViews的内
  • hadoop MapReduce总体工作机制简述

    问题导读 1 如何理解MapTask运行机制 2 如何理解Map阶段机制 3 如何理解ReduceTask 工作机制 4 如何理解MapReduce总体工作机制 MapTask运行机制详解整个Map阶段流程大体如图所示简单概述inputFi
  • @EnableGlobalMethodSecurity注解详解

    作用 当我们想要开启spring方法级安全时 只需要在任何 Configuration实例上使用 EnableGlobalMethodSecurity 注解就能达到此目的 同时这个注解为我们提供了prePostEnabled secured
  • python把tex转为html,在Python中将特定符号替换为字符串,将LaTeX转换为HTML,而无需使用转换器...

    如果要替换所有 非重叠 实例 则可以执行以下操作 import re re sub r r 1 w 这将用 lt sub gt 除 之外的所有东西 sub找到 除 之外的所有东西 的每个实例 这意味着 如果您有类似Li 3 O cat 的东
  • Docker daemon及容器实例的DNS配置详解

    Docker daemon及容器实例的DNS配置详解 2022 01 22 18 37 180阅读 0赞 Linux系统中 DNS解析器是一组C库的进程 用以访问DNS服务器 DNS解析器通过 etc resolv conf配置文件给出要访
  • Latex三线表绘制横线

    目前遇到两种方式 toprule midrule bottomrule usepackage booktabs begin table htb caption Table caption label t1 begin tabular ll
  • 【C++深陷】之“lambda表达式”

    0 什么是lambda表达式 C Primer 第5版 对 lambda表达式 lambda expression 的定义为 一个lambda表达式表示一个可调用的代码单元 我们可以将其理解为一个未命名的内联函数 lambda表达式的形式如
  • python实现excel Vlookup功能

    python 如何实现Excel 的Vlookup功能 1 Excel 中VLOOKUP具体步骤 2 Python中使用pandas包中的pd merge 来实现 1 Excel 中VLOOKUP具体步骤 Excel 中的VLOOKUP使用