2024年最全如何用 Python 整理数据?(1),2024年最新蚂蚁金服四轮面试

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

中台是为前台而生,为了更好地服务前台,它是前台与后台之间的桥梁,起着非常重要的作用,中台具有灵活调整、随需应变的特征,从而更好地适应不断变化的环境。夸中台,通常会说“ 有能力 ”。

后台支撑着整个数据分析体系,它是数据分析的基石。夸后台,通常会说“ 好强大 ”。

前台仅仅是冰山一角,水下的中台和后台,其实隐藏着无数的奥秘。

1. 数据准备

首先,为了演示整理数据的方法,我们从 [http://www.gapminder.org/data]下载 2 个数据文件,分别是世界各国的人口数量、预期寿命,保存到本地当前目录下的 data 文件夹中。

其次,为了便于理解,我们选取其中几个国家 2018 年的数据,第 1 个表是中国和印度 2018 年的人口数量。

img

第 2 个表是中国、日本和俄罗斯 2018 年的预期寿命。
img

接下来,我们将用 Python 对这两个表进行整理。需要说明的是,我们无法对整理数据的方法进行面面俱到的讲解,这里只是挑选了几个我认为比较有代表性的方法,如下图所示。

2. 外连接

本文中「连接」的概念,类似于数据库查询语言 SQL 中的 join 功能。

「外连接」是指经过整理后,得到两个表的所有行,相当于两个表的并集。

使用 Pandas 中的 merge() 函数,指定 how 参数的值为 ‘outer’,我们可以实现两个表的外连接,其中参数 on 用于指定连接的列名,作为两个表关联的键,缺失值用 NaN 代替。

img

3. 内连接

「内连接」相当于两个表的交集,只返回两个表相互匹配的数据。

当不指定 merge() 函数的 how 参数时,默认就是内连接。如果不指定 on 参数,那么默认以两个表共同的列名作为连接键。

img

4. 左连接和右连接

「左连接」是以左边表为主表,即使有些记录在右边表中不存在,左边表中的信息也都全部显示出来,右边表中不符合匹配条件的值用 NaN 代替。

如果 merge() 函数指定 how 参数的值为 ‘left’,那么实现两个表的左连接。

img

「右连接」与「左连接」是类似的,只是交换了左右的位置而已。

当 merge() 函数指定 how 参数的值为 ‘right’ 时,实现两个表的右连接。

\5. 交叉连接两个表的「交叉连接」,是指将第 1 个表中的所有行与第 2 个表中的所有行两两相连,返回的行数等于两个表的行数相乘,在数学上称为笛卡尔积。

在 Python 中,实现交叉连接可以细分为 3 个小步骤:

(1)用 assign() 函数增加 key 列;(2)用 merge() 函数进行连接;(3)删掉 key 列。

利用下面的代码,就能完成交叉连接的操作。

img

因为两个表都有「国家」列,所以在返回的结果中,列名自动增加了 _x 和 _y 的后缀。

6. 联合拼接

「联合拼接」,是指将两个表直接拼接在一起,不排除重复数据。对于列名相同的列,两个表直接上下相连;如果列名不同,那么分成不同的列进行拼接。

使用 Pandas 中的 concat() 函数,可以将两个表进行联合拼接,其中「国家」列是上下拼接,其他列由于列名不同,所以被拼接为多列,缺失值用 NaN 表示。
img

另外,append() 函数也可以实现类似的拼接功能。为了不增加记忆负担,这里就略过不说了,感兴趣的朋友可以自行搜索相关帮助文档。

在使用 Python 的过程中,我们可能会发现,同一个问题,往往能找到多种不同的解决方案。

比如说,本文介绍的方法,其实都可以用 pandasql 来实现,也就是采用写 SQL 语句的方式。

在学习的初期,我们不必纠结于应该采用哪种方法,以最快速地解决实际问题为首要目的,先完成任务,然后再逐渐完善,不断地丰富自己的知识体系,就能发现更加高效的解决方案,这正是从入门到精通、从新手到高手的一个过程。

7. 小结

本文主要使用 Pandas 中的 merge() 和 concat() 两个函数,对两个简单的表格数据,从不同的角度进行合并整理。通常每个函数都有若干个参数,在做数据分析的实际工作中,可以根据需要,进行调用和指定。

下面这张思维导图,能够帮助我们理清思路,加深理解和记忆。

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值