Pandas如何实现vlookup功能?
回复“资源”即可获赠Python学习资料
大家好,我是皮皮。
一、前言
前几天在Python黄金交流群【Edward】问了一道Pandas
处理的问题,如下图所示。
二、实现过程
方法一
这里【格格物 এ คิดถึง】给出了一个思路和代码。具体思路如下图所示:
代码如下图所示:
下图是运行结果:
可以解决粉丝的问题。
方法二
后来【月神】也给了一个方法,代码如下所示:
## 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
方法,代码如下所示:
# 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】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
评论