前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas如何实现vlookup功能?

Pandas如何实现vlookup功能?

作者头像
前端皮皮
发布2022-08-17 18:41:47
1.1K0
发布2022-08-17 18:41:47
举报
文章被收录于专栏:前端进阶学习交流

大家好,我是皮皮。

一、前言

前几天在Python黄金交流群【Edward】问了一道Pandas处理的问题,如下图所示。

二、实现过程

方法一

这里【格格物 এ คิดถึง】给出了一个思路和代码。具体思路如下图所示:

代码如下图所示:

下图是运行结果:

可以解决粉丝的问题。

方法二

后来【月神】也给了一个方法,代码如下所示:

代码语言:javascript
复制
## merge 用法
regon_code = '3202'

dfb['大类编码'] = regon_code + dfb['大类编码']
dfb['小类编码'] = regon_code + dfb['小类编码']
# 这里已经merge好了
dfn = pd.merge(dfn, dfb, how='inner').rename(columns={'大类编码': '项目大类编码','小类编码': '项目小类编码'})

dfn.insert(0, '项目大类编码', dfn.pop('项目大类编码'))
dfn.insert(2, '项目小类编码', dfn.pop('项目小类编码'))
print(dfn)
方法三

后来【月神】还给了一个map方法,代码如下所示:

代码语言:javascript
复制
# map 用法
regon_code = '3202'

dfb['大类编码'] = regon_code + dfb['大类编码']
dfb['小类编码'] = regon_code + dfb['小类编码']
# map需要对映射表做去重处理
dfn.insert(0, '项目大类编码', dfn['项目大类'].map(dfb.set_index('项目大类')['大类编码'].drop_duplicates()))
dfn.insert(2, '项目小类编码', dfn['项目小类'].map(dfb.set_index('项目小类')['小类编码'].drop_duplicates()))

print(dfn)

【月神】对Pandas的掌握可谓出神入化,令人望尘莫及。

后来【Edward】拿着这两份代码,顺利的解决了他的需求!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个使用Pandas如何实现vlookup功能的问题,文中针对该问题给出了具体的解析和代码演示,一共三个方法,帮助粉丝顺利解决了问题。

最后感谢粉丝【Edward】提问,感谢【月神】、【格格物 এ คิดถึง】给出的代码和具体解析,感谢【瑜亮老师】、【猫药师Kelly】、【dcpeng】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python共享之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、实现过程
    • 方法一
      • 方法二
        • 方法三
        • 三、总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档