使用python實(shí)現(xiàn)excel的Vlookup功能
python 如何實(shí)現(xiàn)Excel 的Vlookup功能
1、Excel 中VLOOKUP具體步驟
Excel 中的VLOOKUP使用說明采用下面的小示例進(jìn)行說明:
- 背景:目前有兩個(gè)基礎(chǔ)表,分別是 學(xué)號(hào)-姓名 關(guān)系表,學(xué)號(hào)-課程 關(guān)系表。
- 目的:最終生成 學(xué)號(hào)-姓名-課程 關(guān)系表。
- vlookup語法:VLOOKUP(查找值,數(shù)據(jù)表,列序數(shù),[匹配條件])
- 注意:vlookup屬于要注意匹配的左右。比如用學(xué)號(hào)來匹配課程的話,查找值就是學(xué)號(hào),數(shù)據(jù)表就是學(xué)生-課程表。列序數(shù)就是課程所在的第2列。匹配條件 一般是FALSE,即精確匹配。
需要注意的是:vlookup使用的是python中的left模式。
查找表沒有對(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()來實(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ù)說明:
參數(shù) | 說明 |
left | 左表 |
right | 右表 |
how | 連接方式,inner、left、right、outer,默認(rèn)為inner |
on | 用于連接的列名稱 |
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)為True,總是將數(shù)據(jù)復(fù)制到數(shù)據(jù)結(jié)構(gòu)中,設(shè)置為False可以提高性能 |
suffixes | 存在相同列名時(shí)在列名后面添加的后綴,默認(rèn)為(’_x’, ‘_y’) |
indicator | 顯示合并數(shù)據(jù)中數(shù)據(jù)來自哪個(gè)表 |
注意事項(xiàng):
- 當(dāng)兩個(gè)表用于連接的列名相同時(shí),只需用on 來連接 ;
- 當(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é)果:
示例示例
上述語法也可以使用下面的方式:
到此這篇關(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)文章
python工具模塊介紹之time?時(shí)間訪問和轉(zhuǎn)換的示例代碼
這篇文章主要介紹了python工具模塊介紹-time?時(shí)間訪問和轉(zhuǎn)換,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家啊的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04解決Python串口接收無標(biāo)識(shí)不定長數(shù)據(jù)
這篇文章主要介紹了解決Python串口接收無標(biāo)識(shí)不定長數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python自動(dòng)化之批量生成含指定數(shù)據(jù)的word文檔
在平時(shí)工作當(dāng)中,經(jīng)常需要處理文件,特別是Word,我們常常會(huì)機(jī)械的重復(fù)打開、修改、保存文檔等一系列操作。本文將主要介紹如何通過Python批量生成含指定數(shù)據(jù)的word文檔,感興趣的同學(xué)可以來看一看2021-11-11