「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

news2024/9/20 1:12:38

在我们迈向中高级出局数据分析的过程中,数据的合并和连接,是一个非常重要的技能。

现实中,分散在各种数据库,各种数据表格,各种数据存储设备当中的,各式各样的数据,是我们进行数据分析的基础,也是数据获取部分,需要对数据进行整合的根基。

在今天的文章中,我们先来看,如何使用concat()函数,对多个数据集进行连接,以及合并操作。

多个dataframe数据集的合并(纵向合并)

这里的纵向合并,指的是把多个原始数据集,从上到下,按照数据行进行排列,依次合并。

我们先来看,如何把多个dataframe数据集,合并起来,成为一个新的数据集。

合并过程,如下图所示。

先生成三个dataframe原始数据集,首先是df1

接着是df2

还有df3

最后,使用concat()函数,合并三个数据集,得到我们的结果数据集result。

注意这里的合并,是通过第一列,索引列进行顺序排列合并的。

使用使用concat()函数合并数据,方法虽然简单,但实际用处却很大。在一些结果相同,但是比较分散的原始数据当中,我们拿到数据之后,如果要对数据整体进行分析的话,就需要先把数据合并起来。

传统手工做法是,通过Excel复制粘贴的方式,合并数据。这种做法,容易出错,而且效率比较低。如果是海量的大数据的话,传统的Excel手工操作方式,是无法完成数据的合并操作的,只能够使用concat()函数进行合并。

多个dataframe数据集的合并(横向合并)

横向合并的话,指的是多个数据集,从左到右,按照数据列进行排列,依次合并。

数据合并过程,如下图所示。

生成df4数据集

把df1和df4合并

这里要注意,把axis属性设置为1的话,就是横向合并。默认的情况下,不设置axis属性,是纵向合并。原始数据集中,没有的索引列中的数据,在合并之后,用空值字符串NaN代替。

如果我们只想合并两个数据集中,都有的索引行的话,可以如下图操作。

实现的方式,只要把join属性参数,设置为inner即可。

这样,我们就可以只合并,两个数据集中,索引值相同的行。

比如说,我们的个人信息,可能分散在不同的数据表当中,我们就可以通过身份证号这个索引值,对我们的个人信息进行合并,形成一个完整的个人信息数据集。

如果我们不希望按照索引来合并数据的话,可以参照下图中的方式

代码实现如下

这种合并方式,通过设置ignore_index参数的值为True,就会忽略df1和df4数据集的索引,全部按照行和列的顺序,把数据合并在一起。合并完成后的新数据集,会重新分配一个新的索引。

以上内容,就是使用concat()函数合并数据集的第一部分。下一篇文章,我们会继续介绍concat()函数合并数据集的第二部分内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2073464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泛微开发修炼之旅--42Ecology大日志查看软件LogView Pro及教程

我们在项目上经常要看ecology的日志信息,当日志达到几百兆或者时几个G的时候,想要查看日志并且非常方便搜索日志中的信息,并不容易。 今天给大家大日志工具和教程,在附件中,各位自取吧! 文章链接&#xff…

老师如何制作分班查询系统?

随着新学期的钟声敲响,老师们又迎来了一年中最忙碌的时期。不仅要处理日常的教学准备工作,还要面对一项重要而繁琐的任务——新生分班。分班完成后,老师们还需要将分班结果及时准确地通知给每一位家长,确保信息的传递无误。这项工…

epoll+线程池模型

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 负载均衡技术 …

AI工具 GPT 学术优化 (GPT Academic) 安装实践

GPT 学术优化 (GPT Academic)是一个综合的AI GPT工具包,可以完成各种gpt辅助的工作,比如代码解读、翻译、读论文等功能。官网:GitHub - binary-husky/gpt_academic: 为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读…

Flutter 自动化测试 -appium-flutter-driver

上篇文章有讲述如何通过FlutterDriver实现集成测试Flutter 应用自动化测试-集成测试篇 不熟悉的小伙伴可以先去看看。 什么是Appium Flutter Driver? 作为Flutter开发,FlutterDriver是足够帮助他们进行测试的,而作为自动化测试工程师最大的困…

FFmpeg的入门实践系列五(编程入门之属性查看)

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力 文章目录 前期博客参考书籍一、AVFormatContext结构体1. 结构定义2. 字段说明3.示例1(打开与关闭音视频文件&#xff0…

机器人学——机械臂轨迹规划-1

引言 理想轨迹 步骤-1 步骤-2 笛卡尔空间下的轨迹规划 步骤-1 步骤-2 三次多项式 矩阵形式求解 det(T): 行列式,非齐次多项式,结果不为零,有唯一解、行列式为零(无穷解/无解,还需查看增广矩阵的秩) 速度…

Linux网络编程:多路转接--select

1. 初识select 系统提供select函数来实现多路复用输入/输出模型. select系统调用是用来让我们的程序监视多个文件描述符的状态变化的; 程序会停在select这里等待,直到被监视的文件描述符有一个或多个发生了状态改变 select只负责等待,可以等待多个fd&a…

内容创作者福音,4款文章改写神器轻松提升文章质量

在信息爆炸的时代,内容创作成为了连接世界的重要桥梁。作为一名专业创作者,我深知保持内容原创性和高质量的重要性。然而,灵感有时会枯竭,改写文章成为一项耗时且艰巨的任务。幸运的是,市面上有一些文章改写神器&#…

Flask+LayUI开发手记(四):弹出层实现增删改查功能

在上一节用dataTable实现数据列表时,已经加了表头工具栏和表内工具栏,栏内的按钮功能都是用来完成数据的增删改查了,这又分成两类功能,一类是删除或设置,这类功能简单,只需要选定记录,然后提交到…

Flutter 自动化测试 - 集成测试篇

Flutter集成测试 Flutter官方对Flutter应用测试类型做了三个阶段划分,分别为Unit(单元)测试、Widget(组件)测试、Integration(集成)测试。按照维护成本来看的话从左到右依次增高,按照…

预测癌症免疫治疗反应-TIDE数据库学习及知识整理

TIDE(Tumor Immune Dysfunction and Exclusion) 是一个用于预测癌症患者对免疫检查点抑制剂(如PD-1/PD-L1抑制剂)反应的算法。研究者通过检测肿瘤建模队列中每个基因的表达与效应性毒性T淋巴细胞(CTL)浸润水平的相互关系及对生存情…

Open3D 近似点体素滤波(36)

Open3D 近似点体素滤波(36) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 这个算法也是体素滤波, 它保留的点是近似点,也就是新的点,原始点云中对应位置是不存在这些点的。其他的看着类似,下面是代码,滤波抽稀结果 二、算法实现 1.代码 代码如下(示例): …

学习文件IO,让你从操作系统内核的角度去理解输入和输出(Java实践篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

【在Linux世界中追寻伟大的One Piece】应用层协议HTTP

目录 1 -> HTTP协议 2 -> 认识URL 2.1 -> urlencode和urldecode 3 -> HTTP协议请求与响应格式 3.1 -> HTTP请求 3.2 -> HTTP响应 4 -> HTTP的方法 4.1 -> HTTP常见方法 5 -> HTTP的状态码 6 -> HTTP常见Header 7 -> 最简单的HTTP服…

Linux系统报错“version ‘GLIBC_2.34‘ not found”解决方法

注意,此文章慎用,glibc不可随意升级,可能导致系统崩溃 一、查看版本 ldd --version 二、添加高版本源 sudo vi /etc/apt/sources.list.d/my.list 进入编辑页面 "i"键进入插入模式 输入源 deb http://th.archive.ubuntu.com/…

【信创】推荐一款超级好用的文件同步备份工具 _ 统信 _ 麒麟 _ 方德

往期好文:【信创】统信UOS打包工具介绍与使用教程 Hello,大家好啊!今天给大家推荐一款在Linux系统上超级好用的文件同步和备份工具——FreeFileSync。无论是在日常工作还是数据管理中,文件同步和备份都是至关重要的任务。FreeFile…

【自动驾驶】控制算法(五)连续方程离散化与离散LQR原理

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

QT6 setCentralWidget 和 takeCentralWidget

qt6 中,初始化界面完成之后,可以使用setCentralWidget 设置当前的widget为中心页面 如果你存在多个widget想要多个切换 如果存在widget1 和 widget2 在初始化的时候 setCentralWidget(widget1)触发操作切换到 widget2 如果没有先takeCentralWidget 直…

13.深入解析ThreadPoolExecutor线程池

ThreadPoolExecutor线程池 线程池简介线程池的使用创建线程池ThreadPoolExecutor——推荐使用线程池的核心参数 Executors——不推荐使用 提交任务如何执行批量任务如何执行定时、延时任务如何执行周期、重复性任务 关闭线程池线程池的参数设计分析核心线程数(corePoolSize)最大…