Vlookup本质上用于垂直排列的数据。 Vlookup是一种操作,用于根据某些条件合并两个不同的数据表,要求在两个表之间必须至少有一个公共属性(列)。执行完此操作后,我们将获得一个表,其中包含来自两个表中的所有数据。

我们可以用merge()函数在 Pandas 中执行Vlookup。合并函数(merge)执行与SQL中Join相同的工作,即针对表1和表2执行合并操作。合并2个表的方式可能不同。

语法:dataframe.merge(dataframe1, dataframe2, how, on, copy, indicator, suffixes, validate)

参数:

datafram1:要合并的dataframe对象。

dataframe2:要合并的dataframe对象。

how:{left,right,inner,external}指定如何进行合并

on:指定用于执行连接的列或索引名称。

suffixes:后缀用于重叠的列。对于异常,使用值(False,False)。

validate:如果指定,则检查合并的类型.merge的类型可以是(one-one,one-many,many-one,many-many)。

让我们考虑要执行操作的2个表。第一个表包含学生的信息,第二列包含他们所报名的各个课程的信息。两个表中包含的信息如下。

import pandas as pd

df1= pd.read_csv('Student_data.csv')

df2= pd.read_csv('Course_enrolled.csv')

print(df1)

print(df2)

输出

在不同类型的联接上执行Vlook

内联接(Inner join):内部联接仅产生两行都满足条件的那些行的输出数据帧。要执行内部联接,您可以指定inner作为关键字。示例:

import pandas as pd

df1= pd.read_csv('Student_data.csv')

df2= pd.read_csv('Course_enrolled.csv')

inner_join= pd.merge(df1,

df2,

on='Name',

how='inner')

inner_join

输出

左联接(Left join):左联接操作提供第一个数据帧中的所有行以及第二个数据帧中匹配的行。如果第二个数据帧中的行不匹配,则将其替换为NaN。例:

import pandas as pd

df1= pd.read_csv('Student_data.csv')

df2= pd.read_csv('Course_enrolled.csv')

Left_join= pd.merge(df1,

df2,

on='Name',

how='left')

Left_join

输出

右连接(Right join):右连接有点类似于左连接,在右连接中,输出数据帧将包含第二个数据帧中的所有行和第一个数据帧中的匹配行。如果第一个数据帧中的行不匹配,则将其替换为NaN

import pandas as pd

df1= pd.read_csv('Student_data.csv')

df2= pd.read_csv('Course_enrolled.csv')

Right_join= pd.merge(df1,

df2,

on='Name',

how='right')

Right_join

输出

外联接(Outer join):外部联接提供了由两个数据帧中的行组成的输出数据帧。如果行匹配,将显示值,否则将显示不匹配的NaN。例:

import pandas as pd

df1= pd.read_csv('Student_data.csv')

df2= pd.read_csv('Course_enrolled.csv')

Outer_join= pd.merge(df1,

df2,

on='Name',

how='outer')

Outer_join

输出

python vlookup_Python - 如何使用 Pandas 进行vLookup相关推荐

  1. Python数据分析入门之pandas基础总结

    Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...

  2. python中.whl文件下载,pandas

    2019独角兽企业重金招聘Python工程师标准>>> 安装pandas一直报错,最后找到了这个网址,成功安装,分享一下给大家,下载的时候需要注意下载对应的python版本和电脑系统 ...

  3. python安装pandas模块-python安装numpy和pandas的方法步骤

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...

  4. python怎么安装pandas模块-python如何导入安装pandas模块并使用别名

    Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持. Pandas的名称来自于面板数据(panel data)和python数据分析(data anal ...

  5. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主

    利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...

  6. Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略

    Python语言学习之pandas:DataFrame二维表的简介.常用函数.常用案例之详细攻略 目录 DataFrame的简介 DataFrame的常用案例 1.写入和读取excel表格文件

  7. Python科学计算之Pandas基础学习

    Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...

  8. Python 数据分析三剑客之 Pandas(十):数据读写

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

  9. Python 数据分析三剑客之 Pandas(九):时间序列

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

最新文章

  1. centOS防火墙中端口的开启和关闭
  2. 7 Redis 事务
  3. OCJP试题分析第一章
  4. android 包裹内容,Android开发中Bundle用法 包裹数据
  5. Java笔记-使用RabbitMQ的Java接口实现topic(主题模式)
  6. Python给指定文件打上数字签名
  7. 计算机日志研究方法,基于日志的计算机取证技术研究与实现
  8. linux下 mysql主从备份
  9. dsoframer.ocx java_DSOFramer.ocx 控件使用
  10. [路由器] k2p支持ipv6相关设置
  11. html中怎么让照片变模糊,CSS改变图片由模糊到清晰
  12. kylin build过程详解
  13. 论印度为什么软件行业这么发达(搞笑篇)
  14. android6.0 PowerManagerService状态分析
  15. iTerm2终端集成git缩写意思
  16. VirtualBox Guest Additions
  17. JMX Connectors
  18. 思科ccie网络工程师一定要里了解的网络拥塞及拥塞控制技术
  19. PHP报错:Declaration of ... should be compatible with ... 的解决方法
  20. Ubuntu 20 core dumped(核心已转储)问题分析

热门文章

  1. Android开发——菜单(Menu)-——上下文菜单(ContextMenu)、 弹出菜单(PopupMenu)
  2. PowerPoint ppt 触发器 自定义动画 视频 音频 播放 停止
  3. 作业辅导视频 SS2023-HW13:最小相位系统
  4. Paddle2ONNX最新升级:飞桨模型全面支持ONNX协议啦!
  5. QT 支持多客户端网络视频监控的实现
  6. 【技巧】windows剪切板
  7. java smslib 发送短信错误信息
  8. 计算机技术网络信息安全
  9. 过来人都是怎么学习stm32的
  10. Ardunio下实现STM32的串口通信及其与Stduino的区别