zoukankan      html  css  js  c++  java
  • Pandas中merge和join的区别

    可以说merge包含了join操作,支持两个df间行方向或列方向的拼接操作,默认列拼接,取交集,而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,可以在某些我死情况下避免将数据复制到结果数据结构中,默认总是复制
  • 相关阅读:
    组合模式
    过滤器模式
    桥接模式
    适配器模式
    原型模式
    建造者模式
    抽象工厂
    工厂方法
    静态工厂
    单例模式
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/12231546.html
Copyright © 2011-2022 走看看