Pandas中merge和join的区别

Posted chenqionghe

tags:

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

可以说merge包含了join的操作,merge支持通过列或索引连表,而join只支持通过索引连表,只是简化了merge的索引连表的参数

示例

定义一个left的DataFrame

left=pd.DataFrame([
    [1,2],[3,4],[5,6]
],
    index=['a','c','e'],
    columns=['chenqionghe','muscle']
)

技术图片
定义一个right的DataFrame

right=pd.DataFrame([
    [7,8],[9,10],[11,12],[13,14],
],
    index=['b','c','d','e'],
    columns=['light','weight']
)

技术图片

然后,我们使用merge通过索引合并这两个Dataframe,如下

left.merge(right,left_index=True,right_index=True,how='outer')

技术图片

然后,通过join方法实现相同的操作

left.join(right,how='outer')

技术图片

可以看出join其实是省略了参数的merge,并且没有基于列的连表功能

merge的参数

  • left:参与合并的左侧DataFrame
  • right:参与合并的右侧DataFrame
  • how:inner、outer、left、right其中之一
  • left_index:将左侧的行索引用作其连接键的列
  • right_index:类似于left_index
  • sort:根据连接键对合并后的数据进行排序,默认为True。有时在处理大数据集时,禁用该选项可获得更好的性能
  • suffixes:字符串值元组,用于追加到重叠列名,默认为(‘_x‘,‘_y‘)
  • copy:设置为False,可以在某些我死情况下避免将数据复制到结果数据结构中,默认总是复制

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

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

pandas 合并数据函数merge join concat combine_first 区分

PANDAS 数据合并与重塑(join/merge篇)

Pandas文摘:Join And Merge Pandas Dataframe

Python Pandas Merge, join and concatenate

python数据表的合并(python pandas join() merge()和concat()的用法)