python实现vlookup_干货一:怎么在python里面实现vlookup

vlookup应该是excel里用的比较多的功能,我刚接触excel的时候,反正觉得这个功能非常神奇,省了很多事。但是用久了以后就发现vlookup的限制太多了。。。

  • 第一大痛点:只能往右边-->找,如果要往左边找,最笨的办法就是把要找的column往左边再复制一下,反正我是这样子的。那个match , index的组合,我到现在还没记住|||

  • 第二大痛点:只能找一个项目,如果有双重条件或多重条件的话,好像要用数组,吧?

  • 第三大痛点:excel表太大的话,等的天荒地老,稍微挪动下鼠标,可能还会死机,然后就反复关机开机重启,主要靠rp。

所以我刚接触python第一个想探索的就是python能不能实现excel。那现在我就隆重的科普下python怎么实现的,让大家觉得python还是比较实用的,要一步步学。

第一步,从anaconda打开python (不知道anaconda是什么的请参见上一篇公众号)“工欲善其事,必先利其器”  –  什么是Anaconda?

第二步,输入import pandas as pd 然后回车

pandas是一个第三方的库,暂且可以理解是给我们倒腾表格的工具库。基本上要实现excel平时的那些操作,在python里面就用这个就行了。以后会有介绍。

f1f58b2b6c838b0de4019ffb7fa2e7f8.png

第三步,自己做两个要用的表格,为了阅读方便,有些地方我特意打了中文,大家随意。70c3c0f57c32d6a9010d77f06420b2ed.png只要记得python很在意大小写,name和Name不是一回事哈。输入完回车就自动到下一行了。pd.DateFrame就是括号里产生一个表格的意思,以后会介绍,今天大家先照抄一下,不要纠结。

2bea751cbf45d6a8bf07bddbe63a9d90.png

第四步,用mergy;就算完全没接触过python, 从merge那行的英文,多少能猜出来就是按照名字把tableB的内容相应的放到tableA来的意思。

363a4a80a4097948353577f82fd4a680.png

如果tableC乱入了“老王”,是什么效果呢6172e43f9ba95732ac401e87fa33e94a.png

6c5f87f41bf705592af95aeb8762f520.png

f3e2870e6b81c42a65eb8592574a7e31.png

老王不见了,原因是因为我merge的条件是只找tableA有的,因为我用了how = 'left',大家可以各种组合试试看。

提示:how 可以等于left, right, inner, outer

再如果,hobby在name的左边,merge完全不会理会这些,照样可以找出来,这就解决了excel vlookup只能往右边找的痛点了

f991479c4ea7cbdc1a01befa30486e80.png

结果还是一样的

53fc9f3b20a4d5a1e09a8ac79ec2b7fd.png

再再如果,也许有人会问如果第二张表格还有其他列,效果会怎么样,大家可以上手先试试看。

acd8f00973b89b7d5f1bc80f5ed80623.png

结果应该是这样的,

4a5a33f5b8a329eb509382bc39396cd2.png

怎么才能不显示Favorite呢,以后会深入讲。fea246466785f3a16eeb06a2324d79b5.png


40ab2bb071234a798fe7a02f3355dc8a.png40ab2bb071234a798fe7a02f3355dc8a.pngHomework,大家可以自己摸索下 how='left' / 'right' / 'inner' / 'outer'的区别。

留言区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值