日常办公中,我们经常会遇到需要匹配表,匹配对应数据的场景,在EXCEL中,我们习惯使用VLOOKUP函数或者是X-LOOKUP函数,今天学习的是Python,pandas库中的匹配功能。

首先导入所需的pandas库。

import pandas as pd

用到的模拟数据共三张表,分别是销售表,区域表,负责人表。

模拟数据:销售表

模拟数据:区域表

模拟数据:负责人表

第二步:设置文件路径,并读取文件

File_path = r"E:/360MoveData/Users/B/Desktop/实验表.xlsx"       #数据源路径
File_output = r"E:/360MoveData/Users/B/Desktop/实验表输出.xlsx" #数据输出路径
sale_sheet = pd.read_excel(File_path,"销售表") #读取销售表
region_sheet = pd.read_excel(File_path,"城市区域表") #读取城市区域表
person_liable_sheet = pd.read_excel(File_path,"负责人表") #读取负责人表

第三步:利用merge函数进行查询,第一参数为目标表,第二参数为查询表,第三参数为两表的连接主键,需要列名一致,第四参数是连接模式,left代表左外连接,也就是我们熟悉的VLOOKUP。

#利用城市查询区域

data = pd.merge(sale_sheet,city_sheet, on = "城市" ,how = "left")
print(data.head())

  输出如下

#利用区域查询负责人

data2 = pd.merge(data,person_liable_sheet, on = "区域" ,how = "left")
print(data2.head())

  输出如下

第四步:导出文件

data2.to_excel(File_output)

  

得到了最后的匹配完整表。

这里只介绍了merge函数的左外查询功能,此外还有右外、全外等查询模式,可以根据具体的实际情况去学习应用。

以上,我是simone,期待下次分享。

#Python merge函数,pandas库数据查询功能,对标V-LOOKUP的更多相关文章

  1. Python之使用Pandas库实现MySQL数据库的读写

      本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写.首先我们需要了解点ORM方面的知识. ORM技术   对象关系映射技术,即ORM(Object-Relational ...

  2. Python 基础教程 —— Pandas 库常用方法实例说明

    目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index])   根据行建立数据 3. pandas.DataFrame ({dic})  ...

  3. python数据结构:pandas(2)数据操作

    一.Pandas的数据操作 0.DataFrame的数据结构 1.Series索引操作 (0)Series class Series(base.IndexOpsMixin, generic.NDFra ...

  4. python做数据分析pandas库介绍之DataFrame基本操作

    怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 这一部分主要学习pandas中基于前面两种数据结构的基本操作. 设有DataF ...

  5. 用python做数据分析pandas库介绍之DataFrame基本操作

    怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 这一部分主要学习pandas中基于前面两种数据结构的基本操作. 设有DataF ...

  6. python数据分析之pandas库的Series应用

    一.pandas的数据结构介绍 1. Series 1.1 Series是由一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据索引构成.仅由一组数据可产生最简单的Series. from p ...

  7. python数据分析之pandas库的DataFrame应用二

    本节介绍Series和DataFrame中的数据的基本手段 重新索引 pandas对象的一个重要方法就是reindex,作用是创建一个适应新索引的新对象 ''' Created on 2016-8-1 ...

  8. YII2-数据库数据查询方法,关联查询with, joinWith区别和分页

    一.ActiveRecord 活动记录 1.with关联查询 例如,查询评论 $post = Post::find()->with('comments'); 等价于以下结果集 SELECT * ...

  9. hibernate-聚合函数分组统计数据查询

    聚合函数: 实例: package Test; import static org.junit.Assert.*; import java.util.List; import org.hibernat ...

  10. python数据分析之pandas库的DataFrame应用一

    DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔型).DateFrame既有行索引也有列索引,可以被看作为由Series组成的字典. 构建Dat ...

随机推荐

  1. zabbix 告警说明及触发cpu告警

    1. https://www.cnblogs.com/caonw/p/12766454.html 1.内存检测:Template OS Linux:vm.memory.size[available]. ...

  2. 引用本地的layUI

    <script src="/public/vendor/layui-v2.5.6/layui.all.js"></script>

  3. DB2通过java代码生成自定义uuid()函数

    一.简单的方法 此种方法在快速大量生成时,会有重复 SELECT concat (hex (RAND ()), hex (RAND ())) as uuid FROM SYSIBM.SYSDUMMY1 ...

  4. 实验2 数组、指针与C++标准库

    实验任务5: Info.hpp #ifndef INFO_HPP #define INFO_HPP #include<iostream> #include<iomanip> # ...

  5. centos7开放8080端口

    1. firewall-cmd --state  :令防火墙处于开启状态 systemctl start firewalld.service: 2. firewall-cmd --zone=publi ...

  6. MySql数据库的两大引擎InnoDB和MyIsam的区别

    事务方面 InnoDB支持事务,MyISAM不支持事务.MySql的默认存储引擎为InnoDB 外键方面 InnoDB支持外键,MyISAM不支持,对一个包含外键的InnoDB表转为MYISAM会失败 ...

  7. .net core 使用 Nlog 配置文件

    nlog.config文件 安装nuget包: NLog.Web.AspNetCore 配置开始 <?xml version="1.0" encoding="utf ...

  8. git rebase时出现的提示信息

    root@host: /home/wkxnk/project$  git rebase master First, rewinding head to replay your work on top ...

  9. burpsuite 设置文字大小、抓取https数据头

    设置文字大小 burpsuite安装好后,有些时候文字非常的小,看的眼睛直接痛死. 找到 User options -> Display 其中 User Interface -> Font ...

  10. MySQL学习(十一)为什么不推荐使用uuid和雪花id

    参考博客:https://www.cnblogs.com/wyq178/p/12548864.html 自增的主键的值是顺序的,所以Innodb把每一条记录都存储在一条记录的后面.当达到页面的最大填充 ...