主頁(yè) > 知識(shí)庫(kù) > Pandas 連接合并函數(shù)merge()詳解

Pandas 連接合并函數(shù)merge()詳解

熱門(mén)標(biāo)簽:企業(yè)做大做強(qiáng) 硅谷的囚徒呼叫中心 Win7旗艦版 電話運(yùn)營(yíng)中心 百度AI接口 客戶(hù)服務(wù) 語(yǔ)音系統(tǒng) 呼叫中心市場(chǎng)需求

一、merge函數(shù)用途

pandas中的merge()函數(shù)類(lèi)似于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ù)說(shuō)明

參數(shù) 說(shuō)明
how 默認(rèn)為inner,可設(shè)為inner/outer/left/right
on 根據(jù)某個(gè)字段進(jìn)行連接,必須存在于兩個(gè)DateFrame中(若未同時(shí)存在,則需要分別使用left_on和right_on來(lái)設(shè)置)
left_on 左連接,以DataFrame1中用作連接鍵的列
right_on 右連接,以DataFrame2中用作連接鍵的列
left_index 將DataFrame1行索引用作連接鍵
right_index 將DataFrame2行索引用作連接鍵
sort 根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排列,默認(rèn)為T(mén)rue
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ù)合并與重塑(join/merge篇)
  • pandas dataframe的合并實(shí)現(xiàn)(append, merge, concat)
  • 在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例
  • Pandas 合并多個(gè)Dataframe(merge,concat)的方法

標(biāo)簽:安康 崇左 長(zhǎng)沙 海南 山西 喀什 濟(jì)南 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pandas 連接合并函數(shù)merge()詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266