0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对于merge、join和concat三者的区别分析

rVYA_gh_290ec34 2018-01-06 11:55 次阅读

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

    浏览量

    2468
  • Join
    +关注

    关注

    0

    文章

    9

    浏览量

    3240
  • concat
    +关注

    关注

    0

    文章

    3

    浏览量

    1908

原文标题:merge、join和concat三者的异同点

文章出处:【微信号:gh_290ec34a3129,微信公众号:深度学习小王子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DAQmx VISA ,生产与消费模式这三者之间的作用是什么,三者之间有什么联系

    DAQmx VISA ,生产与消费模式这三者之间的作用是什么,三者之间有什么联系
    发表于 09-14 21:53

    请问xdata和bdata和普通变量三者有什么区别

    如题,请问xdata和bdata和普通变量三者区别
    发表于 09-11 04:35

    LED,LED背光,OLED三者之间究竟有怎样的区别和联系呢?

    什么是LED显示器?什么是LED背光显示器?LED,LED背光,OLED三者之间究竟有怎样的区别和联系呢?
    发表于 06-03 06:14

    UART SPI IIC的详解及三者区别和联系

    详情参考文章01详情参考文章02UART SPI IIC的详解及三者区别和联系Arduino主从机之间的i2c通信I2C总线定义:I2C(‘intel’ -Integrated Circuit
    发表于 12-13 07:27

    USART,串口和USB这三者区别

    参考文献:区分:串口,COM口,UART,USART,串口和USB这三者区别1.串口 COM UART JTAG(它们是一个类别的,对应的是硬件,区别是设备...
    发表于 12-16 06:51

    Hbird-SDK、Nuclei-SDK、NucleiStudio这三者之间的关系和区别是什么啊?

    请问 Hbird-SDK、Nuclei-SDK和NucleiStudio这三者之间的关系和区别是什么啊?有没有谁包含谁了?
    发表于 08-12 08:08

    ADISimPE和ADISimRF,ADISimPLL三者有什么区别

    为什么在ADIsimPE中找不到ADL系列的仿真模型,比如ADL5535,。 而且请问ADISimPE和ADISimRF,ADISimPLL三者有什么区别
    发表于 11-17 11:32

    路由器/交换器, Hub三者的联系与区别

    路由器/交换器, Hub三者的联系与区别 集线器(HUB)集线器(HUB)是局域网LAN中重要的部件之一,它是网络连线的连接点。集线器有多
    发表于 08-01 12:34 2374次阅读

    AGV、IGV、RGV这三者之间的区别浅析

    作为智能物流核心设备之一的移动搬运机器人近年来出现了爆发式的增长,而在移动机器人市场,除了大家熟知AGV之外,RGV、IGV也在自动化物流体系中发挥着各自的作用。不过对于AGV、IGV、RGV这三者之间的区别,其实很多人都没有清
    发表于 12-18 11:19 8.9w次阅读

    连接器与接插件以及接线端子这三者区别在哪里

    对于刚刚开始接触连接器行业的部分从业者,可能前期都会分不清“连接器”、“接插件”、“接线端子”三者之间的概念区别,归属范围区别、以及实际应用区别
    发表于 06-13 16:04 2.5w次阅读

    介绍PWM、 PPM、S-BUS这三者区别

    介绍PWM、PPM、S-BUS这三者区别
    的头像 发表于 03-08 11:32 7705次阅读

    光端机、光纤收发器与光猫三者之间的工作原理和区别

    现如今,在当下的网络通信项目中,光端机、光纤收发器、光猫这几款产品可以说是应用非常广泛,也是备受安防人的推崇,那么,对于三者之间的区别你是否清楚呢?接下来就由飞畅科技的小编来为大家详细介绍下光端机、光纤收发器与光猫
    发表于 09-08 15:29 4877次阅读

    火线、零线、地线三者概念与区别

    哈喽~大家好!又到了我们的Aigtek百科时间,今天我们为广大热爱电学的工程师们准备了一期特别的干货大餐,关于火线、零线、地线,三者概念&区别大揭秘,感性的伙伴一起接着往下看吧。
    的头像 发表于 07-08 11:02 5.8w次阅读
    火线、零线、地线<b class='flag-5'>三者</b>概念与<b class='flag-5'>区别</b>

    如何优化MySQL中的join语句

    在mysql中,join 主要有Nested Loop、Hash JoinMerge Join种方式,我们今天来看一下最普遍 Nes
    的头像 发表于 04-24 17:03 773次阅读
    如何优化MySQL中的<b class='flag-5'>join</b>语句

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

    其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的原理和区别
    的头像 发表于 06-05 15:21 969次阅读
    Java、Spring、Dubbo<b class='flag-5'>三者</b>SPI机制的原理和<b class='flag-5'>区别</b>