Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)

Excel的vlookup功能在数据量太大的前提下就挺难用的,所以还是需要pandas搞定
下面是用pandas实现匹配的方法

如下图,假如我有一个表 全是印尼文 A

Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)
有另一张在google sheet上翻译出来的表 B
Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)
现在我想匹配第一张表 category1_name 的英文版本

1. dict + apply 我觉得最好的方法

首先将翻译的那张表转成字典形式

import pandas as pd
dict1 = dict(zip(trans['Indonesian'],trans['English']))

Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)
然后直接用apply函数映射过去
c0801_f['category1_name_en'] = c0801_f['category1_name'].apply(lambda x: dict1[x])

如果你的表因为找不到对应的值而报错,可以用get调用方法,则找不到的值默认None

c0801_f['category1_name_en'] = c0801_f['category1_name'].apply(lambda x: dict1.get(x))

完成
而且这样还可以随意apply到任何列上,很方便~

Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)
2. merge

还是刚刚那两张表

但是我得把翻译表第一列换成和表A一样的名字,不然不能merge
然后按照表A left merge

trans = trans.rename(columns={'Indonesian':'category1_name'})

c0801_f = c0801_f.merge(trans,on='category1_name',how='left')

最后也是一样的结果

3. join

还是这两张表

pandas 的 join 官方文档上有一个例子,写了这两句话

If we want to join using the key columns, we need to set key to be the index in both df and other. The joined DataFrame will have key as its index.

Another option to join using the key columns is to use the on parameter. DataFrame.join always uses other’s index but we can use any column in df. This method preserves the original DataFrame’s index in the result.

也就是说我们可以指定表里的一列为index, 然后根据这列index去join

c0801_f.join(trans.set_index('Indonesian'),on='category1_name')

这样就不用给表A改名了hhhhhh

Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)

Original: https://blog.csdn.net/EvaHoo/article/details/119537027
Author: 德德德真的是我
Title: Pandas 实现excel类似vlookup 的匹配功能 (apply, merge, join)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/740724/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 用Python制作一个动态爱心效果!

    大家好,我是小F~ 最近「 点燃我,温暖你」这部剧非常火,讲述的是程序员的爱情故事。 其中陈飞宇饰演的男主李峋,在剧中用程序做出的爱心跳动效果,非常炫。 网上各个大佬也是纷纷给出看…

    Python 2023年8月2日
    057
  • python单元测试之pytest

    pytest pytest的运行方式 . 点号,表示用例通过F 表示失败 FailureE 表示用例中存在异常 Error pytest命名规则命名规则 类名必须是Test开头测试…

    Python 2023年9月10日
    029
  • Django4.1从入门到精通——创建第一个官方Demo应用

    前言 官方文档:编写你的第一个 Django 应用 https://docs.djangoproject.com/zh-hans/4.1/intro/tutorial01/ 官方这…

    Python 2023年8月5日
    056
  • Python钩子函数

    python hook 机制 一、 概念 1、 hook概述 2、 hook 二、 示例 python hook 机制 一、 概念 1、 hook概述 hook,又称钩子,在C/C…

    Python 2023年6月9日
    076
  • 基于Xlinx的时序分析与约束(3)—-基础概念(下)

    目录 1、4种基本的时序路径 2、发射沿(Launch Edge)与锁存沿(Latch Edge) 3、数据到达时间(Data Arrival Time) Original: ht…

    Python 2023年11月7日
    043
  • 万星开源项目强势回归「GitHub 热点速览 v.22.38」

    本周霸榜的 GitHub 项目多为老项目,比如:老面孔的 theatre 凭借极其优秀的动画功底连续三天霸榜 TypeScript 类目。借 Figma 被 Adobe 收购之风,…

    Python 2023年10月21日
    032
  • Python scrapy爬取豆瓣

    任务一 爬取豆瓣并存储 1-3在命令行中实行,任务爬取豆瓣网的电影名和评分 豆瓣电影 Top 250 1、检查scrapy是否安装那个成功,命令 在cmd 输入scrapy 检查是…

    Python 2023年10月3日
    039
  • 中国敏捷十年实践者分享:敏捷教练的自我修为

    摘要:在TiD2022质量竞争力大会上来自华为云开发者联盟的首席布道师带来”敏捷教练的自我修为”主题分享。 大家好,我叫徐毅,非常感谢也非常高兴今天有机会在…

    Python 2023年10月13日
    029
  • python模块

    python模块是一个py文件,一个模块只会被导入一次 python在编译或安装的时候会确定搜索路径,使用import语句的时候,python解释器就从搜索路径(即一系列目录名)中…

    Python 2023年5月24日
    040
  • 2-线性回归之多变量线性回归基本原理的python实现

    文章目录 多变量线性回归基本原理的python实现 * 1数据读取 2特征及标签获取 3参数及超参数设置 4使用梯度下降进行拟合 5拟合结果查看 6不同学习率下的拟合情况 参考文章…

    Python 2023年8月17日
    043
  • 数值优化:经典一阶确定性算法及其收敛性分析

    我们在上一篇博客《数值优化:算法分类及收敛性分析基础》介绍了数值优化算法的历史发展、分类及其收敛性/复杂度分析基础。本篇博客我们重点关注一阶确定性优化算法及其收敛性分析。 1 梯度…

    Python 2023年10月25日
    031
  • Python代码加速100倍,针对Excel自动化处理的加速实战!

    并发 vs 并行 说到并发编程,我们先来澄清一下并发 (Concurrency) 和 并行 ( Parallelism)这两个概念,因为这个两个概念的含义是不同的。 并行(Para…

    Python 2023年7月31日
    047
  • 浅析Python中的struct模块

    最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单…

    Python 2023年6月12日
    072
  • python之panda模块1

    Python是一门实现数据可视化很好的语言,他们里面的很多库可以很好的画出图形,形象明了。 今天我们就来说说:Pandas数据分析核心支持库 初识Pandas: Pandas 是 …

    Python 2023年8月7日
    042
  • 进群就给我发邮件,敢问这是Python能够做到的?

    Original: https://www.cnblogs.com/pythonQqun200160592/p/15668481.htmlAuthor: python可乐编程Tit…

    Python 2023年5月24日
    085
  • [CG从零开始] 4. pyopengl 绘制一个正方形

    🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位 进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 入…

    Python 2023年8月15日
    064
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球