1、从合并的方式看merge和join是一样的,有left/right/inner/outer,而concat只有inner/outer两种,因为merge和join参与合并的对象有左右区分,而concat第一个参数是多个dataframe组成的列表,没有严格的左右区分,如果排除最后结果中列的顺序的话,可以看成是一样的。例:
import pandas as pd
from pandas import Series,DataFrame,Panel
df1 = DataFrame([['a','b'],['d','q'],['o','b'],['m','e']],index=['a','b','c','o'],columns=['number1','number2'])
df2 = DataFrame([['a','b'],['d','e'],['a','b'],['d','e']],columns=['col1','col2'],index=['f','a','g','c'])
print pd.concat([df1,df2],join='outer',axis=1)
print pd.concat([df2,df1],join='outer',axis=1)
2、merge合并的范围最广泛,可以合并左边对象的索引/列和右边对象的索引/列的四种组合;join次之,仅可以实现调用DataFrame的索引/列和参数DataFrame的索引的合并,也就是参数DataFrame的列不能参与合并;concat合并的范围最小,只支持索引的合并,也就是说索引与索引的合并是三个函数共同的功能,例:
import pandas as pd
import numpy as np
from pandas import Series,DataFrame,Panel
df1 = DataFrame([['a','b'],['d','q'],['o','b'],['m','e']],index=['a','b','c','o'],columns=['number1','number2'])
df2 = DataFrame([['a','b'],['d','e'],['a','b'],['d','e']],columns=['col1','col2'],index=['f','a','g','c'])
print(pd.merge(df1,df2,left_index=True,right_index=True,how='outer'))
print(df1.join(df2,how='outer'))
print(pd.concat([df1,df2],join='outer',axis=1))
可以看出三个函数合并索引后输出的结果是一样的
number1number2col1col2a a b d eb d q NaN NaNc o b d ef NaN NaN a bg NaN NaN a bo m e NaN NaN
number1number2col1col2a a b d eb d q NaN NaNc o b d ef NaN NaN a bg NaN NaN a bo m e NaN NaN
number1number2col1col2a a b d eb d q NaN NaNc o b d ef NaN NaN a bg NaN NaN a bo m e NaN NaN
3、concat和join的共同点是可以合并3个以上的对象,merge只合并两个对象
-
merge
+关注
关注
0文章
5浏览量
2505 -
Join
+关注
关注
0文章
9浏览量
3302 -
concat
+关注
关注
0文章
3浏览量
1942
原文标题:merge、join和concat三者的异同点
文章出处:【微信号:gh_290ec34a3129,微信公众号:深度学习小王子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
DAQmx VISA ,生产者与消费者模式这三者之间的作用是什么,三者之间有什么联系
LED,LED背光,OLED三者之间究竟有怎样的区别和联系呢?
UART SPI IIC的详解及三者的区别和联系
USART,串口和USB这三者的区别
Hbird-SDK、Nuclei-SDK、NucleiStudio这三者之间的关系和区别是什么啊?
ADISimPE和ADISimRF,ADISimPLL三者有什么区别?
路由器/交换器, Hub三者的联系与区别
AGV、IGV、RGV这三者之间的区别浅析
连接器与接插件以及接线端子这三者区别在哪里
光端机、光纤收发器与光猫三者之间的工作原理和区别
火线、零线、地线三者概念与区别

Java、Spring、Dubbo三者SPI机制的原理和区别

评论