pandas中的concat的功能:

假设你现在需要将多个数据合并,前提是:这几个文件列名都一致,也就是说这几个文件格式完全一样,只是数据不太一样,类似于合并多个文件这种,实际数据分析中也会遇到这种情况,那该怎么做呢?(可能也会遇到格式不一样的情况,当然也是可以合并的正文也会讲解)下面来一起学习下在pandas中如何快速合并文件:

主要分为两种情况

纵向合并:

需要注意的是,axis=0也就是默认值的时候,合并的时候是按照两个数据的列名称作为键来和合并的。

s1 = pd.Series(['a', 'b'])s2 = pd.Series(['c', 'd'])pd.concat([s1, s2])

横向合并:(axis=1,)

类似于merge,但是和merge也不一样,如果设置axis=1合并的时候是按照索引来合并的,merge可以设置左右两个数据的合并键,这点要区分。

result = pd.concat([df1, df4], axis=1)

需要重点掌握的概念:

  1. concat和merge不一样,虽然都是合并,但是merge更多的是数据匹配,根据共同的键来匹配,和sql中的查询很类似,和excel中的vlookup很像,而concat是数据合并,不需要设置合并的键,
  2. 合并的keys:axis=0是按照列名,axis=1是按照索引来合并
  3. concat的概念不仅存在于数据合并,在数据分组groupby中也隐藏着它的踪迹,先分组,每个分组统计,然后合并,其意义与我们合并数据是一样的
  4. 当axis=1的时候也就是横向合并,它的意义和merge很类似,需要好好区分

通过上面两个简单的例子,应该能初步认识concat

下面通过实例完整的掌握这个知识点:

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,

keys=None, levels=None, names=None, verify_integrity=False,

copy=True)

最简单的纵向合并(有人也叫轴向合并,但是我总分不清楚,就叫它纵向合并吧)

import pandas as pdone = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':[98,90,87,69,78]}, index=[1,2,3,4,5])two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':[89,80,79,97,88]}, index=[1,2,3,4,5])rs = pd.concat([one,two])print(rs)

结果:

objs︰ 传入一个需要合并的序列

axis: {0,1,...},默认值为 0。要连接沿轴。

ignore_index︰ 布尔值、 默认 False。这个参数很重要,纵向合并多个文件时,默认为原来的索引,这样势必导致会有重复的索引值,如果想要一个全新的索引,就设置这个参数为True

在没有设置这个参数的时候可以看到结果中的索引均为各自原先的索引,下面看看设置后的:

rs = pd.concat([one,two],ignore_index=True)

结果:

keys︰ 序列,默认为无。构建分层索引使用通过的键作为最外面的级别。如果多个级别获得通过,应包含元组。

如果你写成下面这种方式,keys的结果会被ignore覆盖掉

rs = pd.concat([one,two],ignore_index=True,keys=["a

pandas concat_pandas-数据合并-concat(最全参数解释,含代码和实例)相关推荐

  1. 【Python基础】一文搞定pandas的数据合并

    作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能 ...

  2. pandas之数据合并

    在数据处理中,不免会遇到数据之间的合并.学过关系数据库的童鞋应该都清楚数据表之间的连接.今天要说的数据合并其实和数据表之间的连接有很多相似之处.由于 pandas 库在数据分析中比较方便而且用者较多, ...

  3. 一文搞定pandas的数据合并

    作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能 ...

  4. 04_pandas字符串函数;数据合并concat、merge;分组groupby;Reshaping;Pivot tables;时间处理(date_range、tz_localize等)

    字符串函数,Series的lower()函数 Series在str属性中提供了一组字符串处理方法,可以方便地对数组中的每个元素进行操作,如下面的代码片段所示.请注意,str中的模式匹配通常默认使用正则 ...

  5. python concat去除重复值语句_Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值...

    目录 第二章(pandas) Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值 ============================================ ...

  6. 【Python】挑战SQL:图解Pandas的数据合并merge

    公众号:尤而小屋 作者:Peter 编辑:Peter 在实际的业务需求中,我们的数据可能存在于不同的库表中.很多情况下,我们需要进行多表的连接查询来实现数据的提取,通过SQL的join,比如left ...

  7. 图解pandas的数据合并merge

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 在实际的业务需求中,我们的数据可能存在于不同的库表中.很多情况下,我们需要进行多表的连接查询来实现数据的提取,通过SQL ...

  8. Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码

    前言 Pandas常用作数据分析工具库以及利用其自带的DataFrame数据类型做一些灵活的数据转换.计算.运算等复杂操作,但都是建立在我们获取数据源的数据之后.因此作为读取数据源信息的接口函数必然拥 ...

  9. Reactor 3 (10): 数据合并concat、merge

    由于业务需求有的时候需要将多个数据源进行合并,Reactor提供了concat方法和merge方法: concat方法示意图: merge方法示意图: 从图中可以很清楚的看出这两种合并方法的不同: c ...

最新文章

  1. 软件测试技术学什么条件,软件测试从业者需要具备哪些技能
  2. 我如何进入Docker容器的shell?
  3. 【Python】青少年蓝桥杯_每日一题_8.27_因数个数
  4. JavaScript写贪吃蛇游戏,代码思路都有,想学的自己看
  5. Android之旅--Handler与多线程
  6. 剑指Offer之扑克牌顺子
  7. linux基本命令学习(一)文件处理命令
  8. AS/400开发经验点滴(六)如何制作下拉菜单
  9. 几种常用的视频接口(端子)
  10. 【FPGA入门一】一个简单的LED流水灯
  11. 6183. 字符串的前缀分数和(每日一难phase2--day18)
  12. 饿了么移动APP的架构演进
  13. python任务栏显示网速_win10状态栏显示网速小工具_超好用
  14. 使用python裁剪图片
  15. C语言那些事之脉冲丢包率检测
  16. 初学者-----HTTP协议的基本格式
  17. 转:C++读取EOF文件
  18. Android Q (Android 10.0)
  19. CAS-基于数据库认证
  20. 第二届「科学探索奖」获奖名单公布

热门文章

  1. spark将rdd转为string_八、Spark之详解Tranformation算子
  2. php面试题接口方面,php面试题6 - osc_xb4v1nhl的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. php访问js文件不存在,php文件里js不能被执行
  4. wps如何保存最终状态_如何使得打开word文件显示最终的修改状态
  5. atomikosdatasourcebean mysql_SpringBoot2整合JTA组件实现多数据源事务管理
  6. 300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...
  7. os.environ[‘CUDA_VISIBLE_DEVICES‘]= ‘0‘设置环境变量
  8. 递归基础之N皇后问题
  9. JAVA学习--集合的遍历
  10. ORA-00304: requested INSTANCE_NUMBER is busy