這篇文章給大家分享的是有關(guān)pandas如何實(shí)現(xiàn)數(shù)據(jù)合并的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
數(shù)據(jù)合并有多種方式,其中最常見(jiàn)的應(yīng)該就是交集和并集的求取。之前通過(guò)分析總結(jié)過(guò)pandas數(shù)據(jù)merge功能默認(rèn)的行為,其實(shí)默認(rèn)下求取的就是兩個(gè)數(shù)據(jù)的“交集”。
有如下數(shù)據(jù)定義:
In [26]: df1 Out[26]: data1 key 0 0 b 1 1 b 2 2 a 3 3 c 4 4 a 5 5 a 6 6 b
In [27]: df2 Out[27]: data2 key 0 0 a 1 1 b 2 2 d 3 3 b
進(jìn)行merge的結(jié)果:
In [28]: pd.merge(df1,df2) Out[28]: data1 key data2 0 0 b 1 1 0 b 3 2 1 b 1 3 1 b 3 4 6 b 1 5 6 b 3 6 2 a 0 7 4 a 0 8 5 a 0
從上面的結(jié)果中能夠看出,merge的默認(rèn)處理行為是求取了兩組數(shù)據(jù)key的交集,但是對(duì)于key的值進(jìn)行了并集的求取。其實(shí)也很好理解,如果僅僅是求取交集而數(shù)據(jù)沒(méi)有任何合并那就不叫做數(shù)據(jù)合并了。
接下來(lái)試一下制定了參數(shù)的的交集數(shù)據(jù)合并處理:
In [29]: pd.merge(df1,df2,how='inner') Out[29]: data1 key data2 0 0 b 1 1 0 b 3 2 1 b 1 3 1 b 3 4 6 b 1 5 6 b 3 6 2 a 0 7 4 a 0 8 5 a 0
In [30]: result_inner = pd.merge(df1,df2,how='inner') In [31]: result_default = pd.merge(df1,df2)
In [32]: result_inner == result_default Out[32]: data1 key data2 0 True True True 1 True True True 2 True True True 3 True True True 4 True True True 5 True True True 6 True True True 7 True True True 8 True True True
通過(guò)上面的結(jié)果可以看出:制定了參數(shù)的的交集數(shù)據(jù)合并處理的結(jié)果與數(shù)據(jù)合并方法merge的默認(rèn)行為是一致的。
再試一下并集數(shù)據(jù)合并處理方法,這需要制定參數(shù)how為outer:
In [35]: result_outer = pd.merge(df1,df2,how='outer')
In [36]: result_outer Out[36]: data1 key data2 0 0.0 b 1.0 1 0.0 b 3.0 2 1.0 b 1.0 3 1.0 b 3.0 4 6.0 b 1.0 5 6.0 b 3.0 6 2.0 a 0.0 7 4.0 a 0.0 8 5.0 a 0.0 9 3.0 c NaN 10 NaN d 2.0
通過(guò)上面的執(zhí)行結(jié)果可以看出:合并后的數(shù)據(jù)中的key擁有了兩組數(shù)據(jù)所有的key,而數(shù)據(jù)雖然有一部分兩組數(shù)據(jù)不能夠重合,但也通過(guò)NaN的值進(jìn)行了相應(yīng)的填補(bǔ)。
還有一點(diǎn)需要注意的,那就是合并之后的數(shù)據(jù)個(gè)數(shù)。合并后的數(shù)據(jù)中,key的個(gè)數(shù)是兩組數(shù)據(jù)中分別擁有的數(shù)據(jù)的笛卡爾乘積。如果其中一組沒(méi)有的時(shí)候,進(jìn)行合并的時(shí)候另一組數(shù)據(jù)中會(huì)創(chuàng)建一個(gè)NaN數(shù)值的對(duì)象與之進(jìn)行合并。
感謝各位的閱讀!關(guān)于“pandas如何實(shí)現(xiàn)數(shù)據(jù)合并”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
文章題目:pandas如何實(shí)現(xiàn)數(shù)據(jù)合并-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://aaarwkj.com/article20/pjhco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、定制網(wǎng)站、搜索引擎優(yōu)化、微信公眾號(hào)、App開(kāi)發(fā)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容