concat()方法:沿着一条轴,将多个对象堆叠到一起
总结:
-
在使用方法上,join和merge都支持DataFrame.join()\merge()形式,但concat()方法不是DataFrame自带的方法,所以只能通过pd.concat()方式来使用该方法。基于此,pd.concat()支持更多类型的数据合并。不仅支持DataFrame之间的合并,也支持Serie之间的合并。
-
在axis=0轴上进行合并时,其功能类似于append。而当axis=1时,其功能类似于join或merge,但此时只能将index相同数据合并到同一行。若要依据其他column进行合并的话,则需要先将改列设为index。
merge()方法:通过键拼接列
总结:
-
merge()方法和join()方法实现的功能相似,都是按行拼接。但merge()的用法更灵活。不仅支持index-on-index和column-on-index,还支持column-on-column。
join()方法:主要用于索引上的合并
总结:
-
从join()的参数列表可以看出,join中没有axis参数,所以该方法只能实现按行拼接。
-
该方法不仅能实现两个DataFrame的合并,还可以实现单个DataFrame与单个Series,或与多个DataFrame的拼接。
-
该方法只能用caller的column或index与other的index进行匹配。
参考资料:
-
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.join.html
-
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html
-
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.concat.html
-
https://blog.csdn.net/yeshang_lady/article/details/103363486