亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法

 更新時(shí)間:2018年06月27日 15:15:41   作者:grey_csdn  
今天小編就為大家分享一篇pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

數(shù)據(jù)合并有多種方式,其中最常見的應(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)行合并。

以上這篇pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論