#Python merge函数,pandas库数据查询功能,对标V-LOOKUP

python,merge,函数,pandas,数据,查询,功能,lookup · 浏览次数 : 136

小编点评

**代码示例:** ```python import pandas as pd # 设置文件路径 File_path = 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 函数进行匹配 data = pd.merge(sale_sheet, region_sheet, on="城市", how="left") data2 = pd.merge(data, person_liable_sheet, on="区域", how="left") # 导出结果 data2.to_excel(File_output) ``` **结果:** ``` 城市 区域 负责人 销售额 0 上海 东部 王晓明 10000 1 上海 西部 李晓东 15000 2 杭州 东部 张晓波 20000 3 杭州 西部 王丽娜 25000 4 重庆 东部 王晓刚 30000 ``` **总结:** 该代码展示了使用 pandas 库中 merge 函数进行数据匹配的示例。该函数可以根据两张表的连接主键进行匹配,并根据匹配结果进行数据合并。

正文

日常办公中,我们经常会遇到需要匹配表,匹配对应数据的场景,在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相似的内容:

#Python merge函数,pandas库数据查询功能,对标V-LOOKUP

日常办公中,我们经常会遇到需要匹配表,匹配对应数据的场景,在EXCEL中,我们习惯使用VLOOKUP函数或者是X-LOOKUP函数,今天学习的是Python,pandas库中的匹配功能。 首先导入所需的pandas库。 import pandas as pd 用到的模拟数据共三张表,分别是销售表,区

归并排序-Python

归并排序的时间复杂度O(nlogn),空间复杂度为O(n) 首先我们先假设有两个有序数组,我们去进行一次归并 用代码实现 def merge(li: list, start: int, mid: int, end: int) : res=[] j = mid +1 while start <= mi

音频文件降噪及python示例

操作系统 :Windows 10_x64 Python版本:3.9.2 noisereduce版本:3.0.2 从事音频相关工作,大概率会碰到降噪问题,今天整理下之前学习音频文件降噪的笔记,并提供Audacity和python示例。 我将从以下几个方面展开: noisereduce库介绍 使用Aud

Python按条件筛选、剔除表格数据并绘制剔除前后的直方图

本文介绍基于Python语言,读取Excel表格文件数据,以其中某一列数据的值为标准,对于这一列数据处于指定范围的所有行,再用其他几列数据的数值,加以数据筛选与剔除;同时,对筛选前、后的数据分别绘制若干直方图,并将结果数据导出保存为一个新的Excel表格文件的方法~

我从 Python 潮流周刊提取了 800 个链接,精选文章、开源项目、播客视频集锦

你好,我是豌豆花下猫。前几天,我重新整理了 Python 潮流周刊的往期分享,推出了第 1 季的图文版电子书,受到了很多读者的一致好评。 但是,合集和电子书的篇幅很长,阅读起来要花不少时间。所以,为了方便大家阅读,我打算将合集进一步整理,分门别类将原始内容的标题罗列出来。 本文总计约 800 个链接

从基础到高级应用,详解用Python实现容器化和微服务架构

本文分享自华为云社区《Python微服务与容器化实践详解【从基础到高级应用】》,作者: 柠檬味拥抱。 Python中的容器化和微服务架构实践 在现代软件开发中,容器化和微服务架构已经成为主流。容器化技术使得应用程序可以在任何环境中一致运行,而微服务架构通过将应用拆分成多个独立的服务,从而提升了系统的

Python循环控制

本文介绍了Python编程语言中关于for循环和if条件控制的一些基本使用。包含了单层循环的退出机制和多层循环的退出机制,使得我们在满足特定条件时,可以直接结束多层循环。

Python 潮流周刊#60:Python 的包管理工具真是多啊(摘要)

本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 本期周刊分享了 13 篇文章,13 个开源项目,全文 2300 字。 重要提醒:

推荐一款Python接口自动化测试数据提取分析神器!

1、引言 在处理JSON数据时,我们常常需要提取、筛选或者变换数据。手动编写这些操作的代码不仅繁琐,而且容易出错。Python作为一个功能强大的编程语言,拥有丰富的库和工具来处理这些数据。今天,将介绍一个实用的Python库——JMESPath,它为提取JSON数据提供了简洁而强大的语法。 2、JM

如何用python计算不定积分

本文详细介绍了如何用Python计算不定积分的方法,重点SymPy是一个用于符号数学的Python库,支持许多类型的数学对象,包括整数、有理数、实数、复数、函数、极限、积分、微分、方程、几何等,同时本文也介绍了多项式函数、指数函数和三角函数、换元积分、有理函数的不定积分的方法。