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只合并两个对象
使用Python实现Hull Moving Average
GTC23 | NVIDIA 与合作伙伴携手升级 Omniverse,为艺术家和开发者优化 3D 工作流奠定基础
未来金融由谁来定义
加湿助眠仪语音IC芯片 白噪音语音方案 WTN6040F-8S
新型SSD存储技术提升私有云存储服务性能
对于merge、join和concat三者的区别分析
2014年可能成为下一代电池突破的一年
小黄车又有新动作各种新政策 但还有多少用户相信它呢?
三星S8评测:三星S8和华为P10是怎么玩的?外观、性能、配置旗鼓相当,价格两个死对头怎么拼?
音圈电机加持的NASA无人机开始探寻生命
Java中常见的注解
力积电重新定位专业晶圆代工 进行新12英寸投资
关于智能农业中温湿度监控系统的特点以及原理分析
跑步戴什么耳机好,运动耳机性价比高的推荐
欧胜微推出软件解决方案Ez2 control和 Ez2 hear Rx ANC
人工智能会在哪些领域
小米6满血复活,小米6使用骁龙835成定局?小米6骁龙835相关信息汇总
广明源SAFEGLO便携式空气净化器有效解决家庭日常杀菌消毒问题
OPPO K10 Pro最新搭载骁龙888 5G移动平台 打造出色的游戏体验
技术干货|工作频率可调的充电泵控制器