Pandas 連接合并函數(shù)merge()詳解
一、merge函數(shù)用途
pandas中的merge()函數(shù)類似于SQL中join的用法,可以將不同數(shù)據(jù)集依照某些字段(屬性)進(jìn)行合并操作,得到一個(gè)新的數(shù)據(jù)集。
二、merge()函數(shù)的具體參數(shù)
用法:
DataFrame1.merge(DataFrame2, how=‘inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', ‘_y'))
參數(shù)說明
參數(shù) | 說明 |
---|---|
how | 默認(rèn)為inner,可設(shè)為inner/outer/left/right |
on | 根據(jù)某個(gè)字段進(jìn)行連接,必須存在于兩個(gè)DateFrame中(若未同時(shí)存在,則需要分別使用left_on和right_on來設(shè)置) |
left_on | 左連接,以DataFrame1中用作連接鍵的列 |
right_on | 右連接,以DataFrame2中用作連接鍵的列 |
left_index | 將DataFrame1行索引用作連接鍵 |
right_index | 將DataFrame2行索引用作連接鍵 |
sort | 根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排列,默認(rèn)為True |
suffixes | 對(duì)兩個(gè)數(shù)據(jù)集中出現(xiàn)的重復(fù)列,新數(shù)據(jù)集中加上后綴_x,_y進(jìn)行區(qū)別 |
三、merge用法舉例
創(chuàng)建兩個(gè)數(shù)據(jù)框
#利用字典dict創(chuàng)建數(shù)據(jù)框 dataDf1=pd.DataFrame({'lkey':['foo','bar','baz','foo'], 'value':[1,2,3,4]}) dataDf2=pd.DataFrame({'rkey':['foo','bar','qux','bar'], 'value':[5,6,7,8]}) print(dataDf1) print(dataDf2) >>> lkey value 0 foo 1 1 bar 2 2 baz 3 3 foo 4 rkey value 0 foo 5 1 bar 6 2 qux 7 3 bar 8
內(nèi)連接(Inner)
#inner鏈接 dataLfDf=dataDf1.merge(dataDf2, left_on='lkey',right_on='rkey') >>> lkey value_x rkey value_y 0 foo 1 foo 5 1 foo 4 foo 5 2 bar 2 bar 6 3 bar 2 bar 8
右鏈接(Right)
#Right鏈接 dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey',how='right') >>> lkey value_x rkey value_y 0 foo 1.0 foo 5 1 foo 4.0 foo 5 2 bar 2.0 bar 6 3 bar 2.0 bar 8 4 NaN NaN qux 7
全鏈接(Outer)
#Outer鏈接 dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey', how='outer') >>> lkey value_x rkey value_y 0 foo 1.0 foo 5.0 1 foo 4.0 foo 5.0 2 bar 2.0 bar 6.0 3 bar 2.0 bar 8.0 4 baz 3.0 NaN NaN 5 NaN NaN qux 7.0
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- pandas數(shù)據(jù)合并與重塑之merge詳解
- Pandas數(shù)據(jù)集的合并與連接merge()方法
- Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解
- Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)
- Python?Pandas數(shù)據(jù)合并pd.merge用法詳解
- pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)
- 在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例
- Pandas merge合并操作的實(shí)現(xiàn)
相關(guān)文章
Python?中?key?參數(shù)的含義及用法小結(jié)
我們?cè)谑褂?sorted()?或?map()?函數(shù)的時(shí)候,都會(huì)看到里面有一個(gè)?key?參數(shù),其實(shí)這個(gè)?key?參數(shù)也存在于其他內(nèi)置函數(shù)中(例如?min()、max()?等),那么我們今天就來了解一下?key?參數(shù)的含義以及用途吧,需要的朋友可以參考下2023-12-12Python?pandas的八個(gè)生命周期總結(jié)
這篇文章主要從八個(gè)pandas的數(shù)據(jù)處理生命周期,整理匯總出pandas框架在整個(gè)數(shù)據(jù)處理過程中都是如何處理數(shù)據(jù)的,感興趣的小伙伴可以了解一下2022-10-10python datetime時(shí)間格式的相互轉(zhuǎn)換問題
這篇文章主要介紹了python datetime時(shí)間格式的相互轉(zhuǎn)換問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06python3 解決requests出錯(cuò)重試的問題
這篇文章主要介紹了python3 解決requests出錯(cuò)重試的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04Python報(bào)錯(cuò)KeyError: ‘missing_key‘的有效解決方法
在 Python 編程中,報(bào)錯(cuò)信息常常讓開發(fā)者感到困擾,其中,“KeyError: ‘missing_key’”是一個(gè)較為常見的報(bào)錯(cuò),它可能在各種數(shù)據(jù)處理和字典操作的場(chǎng)景中出現(xiàn),本文將深入探討這個(gè)報(bào)錯(cuò)的原因,并提供多種有效的解決方法,幫助開發(fā)者快速解決此類問題2024-10-10python讀取指定字節(jié)長(zhǎng)度的文本方法
今天小編就為大家分享一篇python讀取指定字節(jié)長(zhǎng)度的文本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08基于Flask實(shí)現(xiàn)文件上傳七牛云中并下載
文件上傳是Web應(yīng)用中常見的功能之一,而七牛云則提供了強(qiáng)大的云存儲(chǔ)服務(wù),本文我們將學(xué)習(xí)如何在Flask應(yīng)用中實(shí)現(xiàn)文件上傳,并將上傳的文件保存到七牛云,感興趣的可以學(xué)習(xí)一下2023-10-10