【Python3学习】4.vlookup/xlookup在python里的平替是什么?
太长不看版本
对于超百万级数据,如何进行vlookup/xlookup?
答:只要使用pandas的merge函数即可。
案例数据准备
用文本编辑器输入以下内容,另存为D:\workspace\in.csv
。
1 | userid,loginaddr,starttime,state |
再建立一个文件,另存为D:\workspace\addr.csv
。
1 | userid,username,city |
具体操作
怎么匹配百万级数据?
审计工作正在如火如荼地进行,今天审计人员提供小马1000个用户编码,要求匹配用户名和注册地,虽说基础数据上百万用不了EXCEL,但是这种简单问题小马觉得只要数据库跑一跑就能解决了,可惜,小马不会数据库。
自己不会总有人会,他将头转向胖驼前辈:“驼哥,哦不,驼专,有空吗?”“你这是无事不登三宝殿,说吧,什么事?”胖驼瞥了一眼小马,并没有停下手中的活。
小马说:“这不有1000个号码,帮忙匹配一下用户账号和注册地呗,审计要。我这不会数据库地干活,只能来求您老出手了。”
胖驼还是头也不抬:“你是有基础数据文件在电脑里?”
“当然当然,提供给审计的原始文件我都存着,您可以随时导入数据库。”小马忙不迭地答道。
“那用啥数据库,基础数据才百万级,python跑一下就行了。”胖驼终于停下手中的活儿看向小马,“正好,你不是要转型么,那就和上次一样,我给你案例,你自己vlookup一下就好。”
“EXCEL vlookup我会呀,xlookup我都学了,不过基础数据超过104万了,excel匹配不完。”小马吐了吐舌头,“而且打得开电脑也死了吧。”
“哦,不不不,我这嘴瓢了,我是想说用python类似能力解决即可。”胖驼说。
利用pd.merge来匹配数据
1 | import pandas as pd # as always,先导入pandas包,取名叫做pd |
胖驼:“你看,几句编程语言就能将文件读取、匹配、输出都搞定了,自己根据案例匹配一下数据看看。不懂就下面留言中补充吧!”