concat()merge()的区别

Posted liyun1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了concat()merge()的区别相关的知识,希望对你有一定的参考价值。

concat,merge的区别

In [154]:
data1=pd.DataFrame(np.arange(6).reshape(2,3),columns=list(‘abc‘))
data2=pd.DataFrame(np.arange(20,26).reshape(2,3),columns=list(‘ayz‘))
 
In [155]:
data1
 
 
Out[155]:
 abc
0 0 1 2
1 3 4 5
In [170]:
dd=pd.DataFrame(np.arange(6).reshape(2,3),columns=list(‘acb‘))
 
 
In [171]:
 
dd
 
 
Out[171]:
 acb
0 0 1 2
1 3 4 5
In [172]:
 
pd.concat([data1,dd]) ##concat可以自动对齐列变量 
Out[172]:
 abc
0 0 1 2
1 3 4 5
0 0 2 1
1 3 5 4
In [156]:
data2
 
 
Out[156]:
 ayz
0 20 21 22
1 23 24 25
In [164]:
 data3=pd.concat([data1,data2],axis=0)
data3
 
Out[164]:
 abcyz
0 0 1.0 2.0 NaN NaN
1 3 4.0 5.0 NaN NaN
0 20 NaN NaN 21.0 22.0
1 23 NaN NaN 24.0 25.0
In [160]:
 
data4=pd.concat([data1,data2],axis=1)
data4
 
 
Out[160]:
 abcayz
0 0 1 2 20 21 22
1 3 4 5 23 24 25
In [162]:
 data5=pd.concat([data1,data2],axis=1,join=‘inner‘)
data5
 
 
Out[162]:
 abcayz
0 0 1 2 20 21 22
1 3 4 5 23 24 25
In [167]:
 
data01=pd.merge(data1,data2,on=‘a‘)
data01
 
 
Out[167]:
 abcyz
In [169]:
 data02=pd.merge(data1,data2,on=‘a‘,how=‘outer‘)
data02
 
 
Out[169]:
 abcyz
0 0 1.0 2.0 NaN NaN
1 3 4.0 5.0 NaN NaN
2 20 NaN NaN 21.0 22.0
3 23 NaN NaN 24.0 25.0

以上是关于concat()merge()的区别的主要内容,如果未能解决你的问题,请参考以下文章

pd.concat() 和 pd.merge() 之间的区别以及为啥我会得到错误的输出?

jQuery.merge与concat的区别

pd.concat()与pd.merge()之间的区别,为什么我得到错误的输出?

python-dataframe的合并(append, merge, concat, join)

实战讲解pandas中merge, join, concat的区别

StringBuilder的append方法和String+String的区别