欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解

 更新時(shí)間:2022年09月01日 16:12:03   作者:派森醬  
這篇文章主要和大家一起說說pandas的兩個(gè)表的連接技能merge,也就是根據(jù)一個(gè)表的條件去匹配另一個(gè)表的內(nèi)容,感興趣的可以跟隨小編一起學(xué)習(xí)一下

上次介紹了pandas的多條件篩選,這些都是一些數(shù)據(jù)處理的必要技能,也不貪多,咱們每次學(xué)習(xí)一點(diǎn)。

這次咱們說說pandas的兩個(gè)表的連接技能merge,也就是根據(jù)一個(gè)表的條件去匹配另一個(gè)表的內(nèi)容。

話不多說,直接正文。

準(zhǔn)備數(shù)據(jù)

先導(dǎo)入模塊

import?pandas?as?pd

df1?=?pd.DataFrame({
????'姓名':?['張三',?'李四',?'王五',?'劉六',?'齊四'],
????'號(hào)碼':?['123',?'456',?'789',?'987',?'654']
})

df2?=?pd.DataFrame({
????'姓名':?['張三',?'張三',?'張三',?'李四',?'李四',?'李四',?'李四',?'王五',?'王五',?'劉玉',?'胡軍',?'劉玉',?'劉六',?'劉六',?'劉六',?'劉六',?'劉克',?'劉玉',?'齊七',?'齊七',?'齊七',?'齊七',?'馮亮',?'劉玉',?'王云'],

????'號(hào)碼':?['123',?'123',?'123',?'123',?'123',?'456',?'456',?'456',?'456',?'456',?'741',?'741',?'741',?'741',?'741',?'789',?'789',?'789',?'789',?'789',?'852',?'852',?'852',?'852',?'852'],

????'日期':?['2022-03-13',?'2022-03-06',?'2022-01-30',?'2022-01-04',?'2022-02-26',?'2022-03-26',?'2022-03-06',?'2022-01-30',?'2022-01-29',?'2022-03-13',?'2022-03-06',?'2022-02-19',?'2022-02-04',?'2022-03-10',?'2022-04-19',?'2022-03-10',?'2022-01-29',?'2022-02-19',?'2022-03-06',?'2022-03-26',?'2022-01-04',?'2022-02-04',?'2022-04-19',?'2022-02-26',?'2022-03-06'],

????'方案':?['G1012',?'G1022',?'G1002',?'G1007',?'G1017',?'G1023',?'G1018',?'G1003',?'G1008',?'G1013',?'G1020',?'G1015',?'G1010',?'G1005',?'G1025',?'G1004',?'G1009',?'G1014',?'G1019',?'G1024',?'G1006',?'G1011',?'G1026',?'G1016',?'G1021']
})

輸出內(nèi)容

df1內(nèi)容

   姓名   號(hào)碼
0  張三  123
1  李四  456
2  王五  789
3  劉六  987
4  齊四  654

df2內(nèi)容:

    姓名  號(hào)碼    日期      方案
0   張三  123  2022-03-13  G1012
1   張三  123  2022-03-06  G1022
2   張三  123  2022-01-30  G1002
3   李四  123  2022-01-04  G1007
4   李四  123  2022-02-26  G1017
5   李四  456  2022-03-26  G1023
6   李四  456  2022-03-06  G1018
7   王五  456  2022-01-30  G1003
8   王五  456  2022-01-29  G1008
9   劉玉  456  2022-03-13  G1013
10  胡軍  741  2022-03-06  G1020
11  劉玉  741  2022-02-19  G1015
12  劉六  741  2022-02-04  G1010
13  劉六  741  2022-03-10  G1005
14  劉六  741  2022-04-19  G1025
15  劉六  789  2022-03-10  G1004
16  劉克  789  2022-01-29  G1009
17  劉玉  789  2022-02-19  G1014
18  齊七  789  2022-03-06  G1019
19  齊七  789  2022-03-26  G1024
20  齊七  852  2022-01-04  G1006
21  齊七  852  2022-02-04  G1011
22  馮亮  852  2022-04-19  G1026
23  劉玉  852  2022-02-26  G1016
24  王云  852  2022-03-06  G1021

連接

函數(shù)說明:pd.merge(left=df1(需要匹配的原始表), right=df2(被匹配的數(shù)據(jù)表), on="姓名"(需要匹配的條件列), how="inner"(連接方式))

內(nèi)連接

how默認(rèn)為inner:內(nèi)連接查詢特點(diǎn)是df1有匹配的才顯示,不匹配的不顯示

df?=?pd.merge(left=df1,?right=df2,?on="姓名",?how="inner")

輸出:

    姓名 號(hào)碼_x 號(hào)碼_y  日期     方案
0   張三  123  123  2022-03-13  G1012
1   張三  123  123  2022-03-06  G1022
2   張三  123  123  2022-01-30  G1002
3   李四  456  123  2022-01-04  G1007
4   李四  456  123  2022-02-26  G1017
5   李四  456  456  2022-03-26  G1023
6   李四  456  456  2022-03-06  G1018
7   王五  789  456  2022-01-30  G1003
8   王五  789  456  2022-01-29  G1008
9   劉六  987  741  2022-02-04  G1010
10  劉六  987  741  2022-03-10  G1005
11  劉六  987  741  2022-04-19  G1025
12  劉六  987  789  2022-03-10  G1004

df1表里需要匹配的姓名里,在df2里面能匹配上姓名的都會(huì)列出來,而匹配不上的,都不會(huì)列出來,包括df1里面的內(nèi)容

小提示:如果兩表有相同列名的,會(huì)自動(dòng)在列名后面加_x,_y來區(qū)分

外連接

how="outer"為外連接:查詢特點(diǎn)是無論匹不匹配都顯示,對(duì)應(yīng)的值沒有則顯示空

df?=?pd.merge(left=df1,?right=df2,?on="姓名",?how="outer")

輸出:

    姓名 號(hào)碼_x 號(hào)碼_y   日期     方案
0   張三  123  123  2022-03-13  G1012
1   張三  123  123  2022-03-06  G1022
2   張三  123  123  2022-01-30  G1002
3   李四  456  123  2022-01-04  G1007
4   李四  456  123  2022-02-26  G1017
5   李四  456  456  2022-03-26  G1023
6   李四  456  456  2022-03-06  G1018
7   王五  789  456  2022-01-30  G1003
8   王五  789  456  2022-01-29  G1008
9   劉六  987  741  2022-02-04  G1010
10  劉六  987  741  2022-03-10  G1005
11  劉六  987  741  2022-04-19  G1025
12  劉六  987  789  2022-03-10  G1004
13  齊四  654  NaN         NaN    NaN
14  劉玉  NaN  456  2022-03-13  G1013
15  劉玉  NaN  741  2022-02-19  G1015
16  劉玉  NaN  789  2022-02-19  G1014
17  劉玉  NaN  852  2022-02-26  G1016
18  胡軍  NaN  741  2022-03-06  G1020
19  劉克  NaN  789  2022-01-29  G1009
20  齊七  NaN  789  2022-03-06  G1019
21  齊七  NaN  789  2022-03-26  G1024
22  齊七  NaN  852  2022-01-04  G1006
23  齊七  NaN  852  2022-02-04  G1011
24  馮亮  NaN  852  2022-04-19  G1026
25  王云  NaN  852  2022-03-06  G1021

df1表里索引13里的齊四無匹配,是空值,而在df2里面的內(nèi)容都會(huì)列出來,和df1匹配不上的其它列的內(nèi)容也是空值

注意:這有點(diǎn)互相匹配的意思喲

左連接

how="left"為左連接:查詢表示左邊的值全部顯示,如右邊無匹配則顯示空。但是右邊有的值匹配不了左邊則不顯示

df?=?pd.merge(left=df1,?right=df2,?on="姓名",?how="outer")

輸出:

    姓名 號(hào)碼_x 號(hào)碼_y   日期     方案
0   張三  123  123  2022-03-13  G1012
1   張三  123  123  2022-03-06  G1022
2   張三  123  123  2022-01-30  G1002
3   李四  456  123  2022-01-04  G1007
4   李四  456  123  2022-02-26  G1017
5   李四  456  456  2022-03-26  G1023
6   李四  456  456  2022-03-06  G1018
7   王五  789  456  2022-01-30  G1003
8   王五  789  456  2022-01-29  G1008
9   劉六  987  741  2022-02-04  G1010
10  劉六  987  741  2022-03-10  G1005
11  劉六  987  741  2022-04-19  G1025
12  劉六  987  789  2022-03-10  G1004
13  齊四  654  NaN         NaN    NaN

df1表里索引13里的齊四還是無匹配,是空值,而在df2里面的內(nèi)容就不會(huì)列出來了

右連接

how="right"為右連接:與左連接相反

df?=?pd.merge(left=df1,?right=df2,?on="姓名",?how="right")

輸出:

    姓名 號(hào)碼_x 號(hào)碼_y          日期     方案
0   張三  123  123  2022-03-13  G1012
1   張三  123  123  2022-03-06  G1022
2   張三  123  123  2022-01-30  G1002
3   李四  456  123  2022-01-04  G1007
4   李四  456  123  2022-02-26  G1017
5   李四  456  456  2022-03-26  G1023
6   李四  456  456  2022-03-06  G1018
7   王五  789  456  2022-01-30  G1003
8   王五  789  456  2022-01-29  G1008
9   劉玉  NaN  456  2022-03-13  G1013
10  胡軍  NaN  741  2022-03-06  G1020
11  劉玉  NaN  741  2022-02-19  G1015
12  劉六  987  741  2022-02-04  G1010
13  劉六  987  741  2022-03-10  G1005
14  劉六  987  741  2022-04-19  G1025
15  劉六  987  789  2022-03-10  G1004
16  劉克  NaN  789  2022-01-29  G1009
17  劉玉  NaN  789  2022-02-19  G1014
18  齊七  NaN  789  2022-03-06  G1019
19  齊七  NaN  789  2022-03-26  G1024
20  齊七  NaN  852  2022-01-04  G1006
21  齊七  NaN  852  2022-02-04  G1011
22  馮亮  NaN  852  2022-04-19  G1026
23  劉玉  NaN  852  2022-02-26  G1016
24  王云  NaN  852  2022-03-06  G1021

右連接正好與左連接相反,df1里面匹配不上的不顯示,df2里面的內(nèi)容全都出來了,匹配不上df1的其它列值則為空值

PS這完全是反向匹配呀

到此這篇關(guān)于Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解的文章就介紹到這了,更多相關(guān)Pandas表的連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python下的opencv畫矩形和文字注釋的實(shí)現(xiàn)方法

    python下的opencv畫矩形和文字注釋的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python下的opencv畫矩形和文字注釋的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 一文帶你掌握Matplotlib風(fēng)格與樣式

    一文帶你掌握Matplotlib風(fēng)格與樣式

    學(xué)過Python的小伙伴都會(huì)知道,Matplotlib是Python生態(tài)最好用的可視化工具庫,下面這篇文章主要給大家介紹了關(guān)于Matplotlib風(fēng)格與樣式的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • Python實(shí)現(xiàn)的多線程端口掃描工具分享

    Python實(shí)現(xiàn)的多線程端口掃描工具分享

    這篇文章主要介紹了Python實(shí)現(xiàn)的多線程端口掃描工具分享,工具實(shí)現(xiàn)了掃單IP和掃IP段功能,本文給出運(yùn)行效果和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2015-01-01
  • Python實(shí)現(xiàn)自動(dòng)簽到腳本的示例代碼

    Python實(shí)現(xiàn)自動(dòng)簽到腳本的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)簽到腳本的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案

    Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案

    這篇文章主要介紹了Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python中使用you-get庫批量在線下載bilibili視頻的教程

    python中使用you-get庫批量在線下載bilibili視頻的教程

    這篇文章主要介紹了使用python中you-get庫批量在線下載bilibili視頻的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • OpenCV實(shí)現(xiàn)常見的四種圖像幾何變換

    OpenCV實(shí)現(xiàn)常見的四種圖像幾何變換

    這篇文章主要介紹了利用OpenCV實(shí)現(xiàn)的四種圖像幾何變換:縮放、翻轉(zhuǎn)、仿射變換及透視。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-04-04
  • Python多線程采集二手房源數(shù)據(jù)信息流程詳解

    Python多線程采集二手房源數(shù)據(jù)信息流程詳解

    這篇文章主要介紹了Python多線程采集二手房源數(shù)據(jù)信息流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-05-05
  • 解決pyecharts運(yùn)行后產(chǎn)生的html文件用瀏覽器打開空白

    解決pyecharts運(yùn)行后產(chǎn)生的html文件用瀏覽器打開空白

    這篇文章主要介紹了解決pyecharts運(yùn)行后產(chǎn)生的html文件用瀏覽器打開空白,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 通過Python讀取照片的Exif信息解鎖圖片背后的故事

    通過Python讀取照片的Exif信息解鎖圖片背后的故事

    這篇文章主要為大家介紹了通過Python讀取照片的Exif信息解鎖圖片背后的故事探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論