Pandas 連接合并函數(shù)merge()詳解
更新時間:2021年04月07日 09:40:45 作者:ckSpark
這篇文章主要介紹了Pandas 連接合并函數(shù)merge()詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
一、merge函數(shù)用途
pandas中的merge()函數(shù)類似于SQL中join的用法,可以將不同數(shù)據(jù)集依照某些字段(屬性)進行合并操作,得到一個新的數(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 | 默認為inner,可設為inner/outer/left/right |
on | 根據(jù)某個字段進行連接,必須存在于兩個DateFrame中(若未同時存在,則需要分別使用left_on和right_on來設置) |
left_on | 左連接,以DataFrame1中用作連接鍵的列 |
right_on | 右連接,以DataFrame2中用作連接鍵的列 |
left_index | 將DataFrame1行索引用作連接鍵 |
right_index | 將DataFrame2行索引用作連接鍵 |
sort | 根據(jù)連接鍵對合并后的數(shù)據(jù)進行排列,默認為True |
suffixes | 對兩個數(shù)據(jù)集中出現(xiàn)的重復列,新數(shù)據(jù)集中加上后綴_x,_y進行區(qū)別 |
三、merge用法舉例
創(chuàng)建兩個數(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
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:
- pandas數(shù)據(jù)合并與重塑之merge詳解
- Pandas數(shù)據(jù)集的合并與連接merge()方法
- Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解
- Pandas merge合并兩個DataFram的實現(xiàn)
- Python?Pandas數(shù)據(jù)合并pd.merge用法詳解
- pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)
- 在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實例
- Pandas merge合并操作的實現(xiàn)
相關文章
Python報錯KeyError: ‘missing_key‘的有效解決方法
在 Python 編程中,報錯信息常常讓開發(fā)者感到困擾,其中,“KeyError: ‘missing_key’”是一個較為常見的報錯,它可能在各種數(shù)據(jù)處理和字典操作的場景中出現(xiàn),本文將深入探討這個報錯的原因,并提供多種有效的解決方法,幫助開發(fā)者快速解決此類問題2024-10-10