使用python實(shí)現(xiàn)excel的Vlookup功能
python 如何實(shí)現(xiàn)Excel 的Vlookup功能
1、Excel 中VLOOKUP具體步驟
Excel 中的VLOOKUP使用說(shuō)明采用下面的小示例進(jìn)行說(shuō)明:
- 背景:目前有兩個(gè)基礎(chǔ)表,分別是 學(xué)號(hào)-姓名 關(guān)系表,學(xué)號(hào)-課程 關(guān)系表。
- 目的:最終生成 學(xué)號(hào)-姓名-課程 關(guān)系表。
- vlookup語(yǔ)法:VLOOKUP(查找值,數(shù)據(jù)表,列序數(shù),[匹配條件])
- 注意:vlookup屬于要注意匹配的左右。比如用學(xué)號(hào)來(lái)匹配課程的話(huà),查找值就是學(xué)號(hào),數(shù)據(jù)表就是學(xué)生-課程表。列序數(shù)就是課程所在的第2列。匹配條件 一般是FALSE,即精確匹配。



需要注意的是:vlookup使用的是python中的left模式。
查找表沒(méi)有對(duì)應(yīng)學(xué)號(hào)的,匹不出相應(yīng)的值,在基礎(chǔ)表上就會(huì)顯示 #N/A;
查找表有對(duì)應(yīng)學(xué)號(hào)的,且有重復(fù)值時(shí),在基礎(chǔ)表上只會(huì)優(yōu)先匹配第一個(gè)值(這部分在python中,將全部都匹配上重復(fù)的。)
2、Python中使用pandas包中的pd.merge()來(lái)實(shí)現(xiàn)
利用pd.merge()將DataFrame 和 Series進(jìn)行匹配。
pd.merge(left, right, how = ‘inner', on = None, left_on = None, right_on = None,
left_index = False, right_index = False, sort = True, suffixes = (‘_x','_y'),
copy = True, indicator = False, validate = None)
參數(shù)說(shuō)明:
| 參數(shù) | 說(shuō)明 |
| left | 左表 |
| right | 右表 |
| how | 連接方式,inner、left、right、outer,默認(rèn)為inner |
| on | 用于連接的列名稱(chēng) |
| left_on | 左表用于連接的列名 |
| right_on | 右表用于連接的列名 |
| left_index | 是否使用左表的行索引作為連接鍵,默認(rèn)False |
| right_index | 是否使用右表的行索引作為連接鍵,默認(rèn)False |
| sort | 默認(rèn)為False,將合并的數(shù)據(jù)進(jìn)行排序 |
| copy | 默認(rèn)為T(mén)rue,總是將數(shù)據(jù)復(fù)制到數(shù)據(jù)結(jié)構(gòu)中,設(shè)置為False可以提高性能 |
| suffixes | 存在相同列名時(shí)在列名后面添加的后綴,默認(rèn)為(’_x’, ‘_y’) |
| indicator | 顯示合并數(shù)據(jù)中數(shù)據(jù)來(lái)自哪個(gè)表 |
注意事項(xiàng):
- 當(dāng)兩個(gè)表用于連接的列名相同時(shí),只需用on 來(lái)連接 ;
- 當(dāng)兩個(gè)表用于連接的列名不同時(shí),則需要使用left_on和right_on分別連接。
- 如果是兩個(gè)DataFrame 進(jìn)行匹配時(shí),則匹配后會(huì)將DataFrame中所有的列都添加進(jìn)去。
- vlookup中的匹配連接方式屬于how=left。
- 重復(fù)行會(huì)全部匹配。
下面是兩個(gè)表:


為方便大家理解,下面是python 中不同匹配方式的結(jié)果:
示例示例




上述語(yǔ)法也可以使用下面的方式:

到此這篇關(guān)于使用python實(shí)現(xiàn)excel的Vlookup功能的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)excel的Vlookup內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于torch中tensor數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
這篇文章主要介紹了關(guān)于torch中tensor數(shù)據(jù)類(lèi)型的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Python網(wǎng)絡(luò)請(qǐng)求庫(kù)requests的10個(gè)基本用法
今天我們要聊聊Python中非常實(shí)用的一個(gè)庫(kù)——requests,這個(gè)庫(kù)讓發(fā)送HTTP請(qǐng)求變得超級(jí)簡(jiǎn)單,無(wú)論你是想抓取網(wǎng)頁(yè)數(shù)據(jù)還是測(cè)試API接口,requests都能派上大用場(chǎng),下面我們就一起來(lái)看看如何使用requests完成一些常見(jiàn)的任務(wù),需要的朋友可以參考下2024-10-10
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的實(shí)現(xiàn)
這篇文章主要介紹了OpenCV里的imshow()和Matplotlib.pyplot的imshow()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
pandas apply 函數(shù) 實(shí)現(xiàn)多進(jìn)程的示例講解
下面小編就為大家分享一篇pandas apply 函數(shù) 實(shí)現(xiàn)多進(jìn)程的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
pycharm安裝django框架詳細(xì)圖文教程(指定版本)
這篇文章主要給大家介紹了關(guān)于pycharm安裝django框架(指定版本)的相關(guān)資料,PyCharm是一種Python?IDE,帶有一整套可以幫助用戶(hù)在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下2023-10-10
python?動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)模塊熱更新的方法
這篇文章主要介紹了python?動(dòng)態(tài)導(dǎo)入模塊,實(shí)現(xiàn)模塊熱更新,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08

