前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas数据处理与分析高级案例详解

Pandas数据处理与分析高级案例详解

作者头像
可以叫我才哥
发布2022-11-11 10:08:14
1.1K0
发布2022-11-11 10:08:14
举报
文章被收录于专栏:可以叫我才哥

大家好,我是才哥。

两年半年因为工作需要,我开始接触pandas,看过很多pandas的资料,比如Pandas的官网文档、一些书籍以及在Github上找到了“Joyful pandas”,在咱们这个公众号的很多关于pandas的学习笔记都是来自这些学习资料。

正文

“告别痛苦,快乐学习pandas”是Datawhale社区和耿远昊发起“Joyful pandas”开源项目的初衷。历经两年的精心打磨,它终于要以熊猫书《pandas数据处理与分析》新面貌与大家见面啦。

本书作者耿远昊正在威斯康星大学麦迪逊分校统计学攻读硕士学位。他是Datawhale开源社区成员,“Joyful Pandas”开源项目作者。他也是pandas贡献者,活跃于pandas开源社区,主要贡献涉及漏洞修复、功能实现与性能优化等方面,对pandas在数据处理与分析中的应用有丰富经验。

耿远昊最初学习pandas时,也经历了一路坎坷。为了帮助更多人入门pandas,Datawhale发起Joyful Pandas开源项目。耿远昊将自己的学习经验进行总结并分享,希望更多的人可以快乐学习pandas。

01

让人又喜又恼的pandas

Pandas是Python数据分析的利器,也是各种数据建模的标准工具。pandas作为数据分析中的大红人,被无数人喜爱,但也让不少人苦恼无比——好用是非常好用,复杂也是真的复杂啊!

在学习pandas的时候,初学者可能会觉得无从下手:

这个东西的语法怎么那么混乱?

这满屏幕的setting with copy warning要怎么消除?

为什么写着写着就这么多if else了,要怎么解决?

这API多得离谱,函数看得头晕!

而且它处理数据的速度也没别人说得这么快呀……

pandas实在是太复杂方法内容什么的太多了,用起来是真的恼人!

这就像第一次进菜市场,初学者只能茫然四顾,不知道自己要买的菜在哪儿,好不容易看到一个卖胡萝卜的摊位,买完逛了半天才找到卖鸡蛋的。满头大汗地把所有菜品买齐,挤出菜市场回头再看一眼密密麻麻的人群和摊位,想着明天还要再来,便立马感觉一阵痛苦。

02

学习pandas的痛苦之旅

耿远昊对于这种痛苦非常感同身受。

他在华东师范大学读本科的时候学的是统计学专业,当时不管是作业还是课程,都有大量的大型表格处理需求。虽然所有的需求几乎都能用xlrd/xlwt和Python循环来解决,但也仅仅是能解决而已,因为处理速度很慢,代码几乎完全不能复用,每遇到新的任务就要重新写一遍代码,然后等它傻跑半天,解决问题效率很低,成本太高

他也曾尝试过学习pandas,但是因为学业繁忙,只能零星地学,效果很差。我们在前面说的那些问题,他也大多遇到过。pandas这个巨大而庞杂的工具包就像一头立在路边的大象,他感觉自己和一个盲人没啥区别,摸到腿就是腿,摸到鼻子就是鼻子,根本不知道这大象到底长啥样!

也正是因为函数多,参数更多,没有一条比较清晰的学习路线,他开始只能东一榔头西一斧子地学,感觉更混乱了。一旦程序报错,他更加手足无措:因为不知道内部操作而难以修复;而且即使这次修复好了,下一次遇到同样问题很有可能又忘了怎么解决。

他很是感慨,pandas令人头痛!

好在事情在2019年的秋天出现了转机。他偶然接触到了Theodore Petrou写的Pandas Cookbook一书,如获至宝!在快速地学习了一遍之后,他发现自己之前迷迷糊糊搞不明白的概念似乎变得清晰了许多!这让他学习pandas的痛苦减少了几分。

很快,他又找到官方的用户指南,一字一句地查看,通读完成后在脑海里建立了主要知识点的宏观概念。趁热打铁,他又拿起了pandas之父Wes McKinney的书Python for Data Analysis继续学习,才结束了自己学习pandas的痛苦之旅。

03

怒写教程,被pandas官方推荐

虽然他的痛苦之旅结束了,但是还有更多的人将要或者已经踏上了这段同样难受的学习pandas的旅程。经过一段时间的思考,他决定自己编写一套关于pandas的教程,希望为有着相似痛苦体验的人提供一些帮助,让pandas的学习和使用变得更轻松。

为了保证教程的正确和权威,同时保证教程的好用和简单,他结合Python for Data AnalysisPandas Cookbook和pandas官方用户指南,按照自己的切身体验和学习思路,全面、完整地梳理了pandas的主线内容,编写了一套关于pandas的教程——Joyful Pandas

这个名字就很能体现他的怨念和愿景:原先学习使用pandas真的是极其痛苦(Painful),现在要结束这种痛苦,是时候使用这个新的教程让pandas的学习过程变得快乐(Joyful)了!

作为一个快乐学习的教程,肯定不能像蜻蜓点水一样浅尝辄止,和雾里看花一样啥都不说明白,那样会更痛苦的。根据官方指南和两本pandas权威著作,耿远昊对pandas每个部分的核心概念和函数都做了重点介绍,并总结了函数之间的逻辑关系,建立了清晰的数据处理宏观体系,让人一目了然地就能看明白自己要学哪些内容。

Joyful Pandas教程分为10章,串成了一条非常明显的学习路线:先学pandas基础知识,然后学习如何使用索引、分组、变形、合并4个基础操作,之后学习缺失数据、文本数据、分类数据、时间序列数据4类关键数据。这些知识点是pandas的主线内容,在教程中被清晰地展示出来。跟着这条学习路线走,就能了解pandas的基础概念与操作,掌握关键的数据类型,从而在实际使用中达到信手拈来的效果。

▲ 教程内容概览

当然,想要达到“所写所得即所想”的地步,实践是必不可少的,光说不练假把式,只有自己身体力行地去做,才能真正得到快乐的学习体验。教程里面有不少的练习题,并且附上了解答思路和方法,还有代码实现也尽数提供,非常人性化。

2020年“Joyful Pandas”一经开源推出,就在pandas领域引起了不小的轰动。很快该课程的有效性得到读者们的认可,作为作者,耿远昊常被邀请去高校、企业组织举办讲座或直播。这个教程还被pandas官方增选为社区推荐教程,得到了官方的肯定。

▲ pandas官方推荐教程

他对于开源和分享精神是非常推崇的,一个人可以走得很快,一群人可以走得很远,他鼓励我们在学习过程中要多思考、多练习、多总结,同时要多分享、多交流、多协作,这样才能够更好地畅游数据科学的世界。

Joyful Pandas教程得到了非常多读者的喜爱,很多读者不再满足于单纯的线上教程模式,还希望它能够有纸质版,可以随时拿来阅读。

他肯定要满足大家的期盼。

04

让更多的人轻松学习pandas

纸质图书当然不是直接把教程复制下来印刷就完事了,还需要进行更多的工作。

首先就是pandas版本的升级,为了让读者们获取最新的知识,作者针对最新发布的pandas1.4.0版本,利用春节假期和无数工作日的夜晚,在原本已经进入校对环节,即将与大家见面的图书版本上,又对全书进行了两次重大更新。本书是目前pandas版本最新的教程。

因为学习pandas和编写“Joyful Pandas”教程的经验,他加入了pandas社区并成为活跃分子,为pandas的1.1.0版本、1.2.0版本、1.3.0版本、1.4.0版本和1.5.0版本贡献了自己的一份力量,包括文档描述性错误、修复代码中的bug以及增加函数的新特性(resample对象的逆向采样等)。这些丰富的经历,让他对pandas有了更为深入的理解,并把这种理解提炼成更为简明清晰的内容新增到图书之中。

在这样的背景之下,他对原教程1~10章进行了大量的修订工作。并且增加了3章的进阶实战内容!分别涵盖数据观测、特征工程、性能优化3个部分。正如前面说的那样,快乐学习的同时少不了实践,为了巩固章节知识,他又在每个章末尾增加了恰到好处的习题。

他和编辑长时间、多次对图书稿件进行修改,最终稿也终于定下来,图书马上就能与我们见面了。

图书里面有着上千段短小精悍的代码,输入输出成对出现,非常直观地展示了当前知识点的作用,我们一眼就能看清楚。

▲ 短小精悍的代码示例

对于关键的内容,或者需要补充和深入解读的部分,书中都进行了注解。

▲ “注解”示例

在章节内容初步学习完之后,紧跟着的是练一练栏目,我们能够把刚学的知识点做一个简单快速的回顾。

▲ “练一练”示例

加上新增的习题内容,从整体上连成一条线,把章节内容串在一起,从看到学,从理解到实践,达到融会贯通的效果。

▲ “习题”示例

当然,只出题不给答案是耍流氓。书中所有的练一练、习题的解答和代码实现,都有配套的资源,直接在异步社区《pandas数据处理与分析》图书页面就能获取,或者在GitHub上“datawhalechina/joyful-pandas”项目中下载。

他一直贯彻着“快乐学习”的理念,所以在写书的同时也关注着读者的定位——读者不需要熟悉数据科学或者数据分析,甚至不需要熟练使用Python,只要具备基本的语法知识就好了!完全的零基础可用!当然,对pandas有一定的基础,并且想要系统学习数据处理与分析方法的读者,也能从中获益,巩固和拓展自己的相关知识。

成书之后,可以预见的是会有更多的人告别痛苦的pandas学习,转而投入快乐学习pandas的怀抱。

05

适合初学者

pandas的知识体系对新人来说过于庞杂,学习成本和难度极大,尽管有官方指南和不少权威图书,但它们可能并不适合初学者。

耿远昊以自己的亲身体验出发而写的《pandas数据处理与分析》,其实就是许多初学者想要的:对庞杂的pandas知识体系进行剖析和梳理,找出一条由浅入深的学习路线,找出关键的函数方法,通过理论和实践的有效结合,帮助自己轻松地学习pandas。

很多东西只有以相似的视角,才能得到感同身受的内容,学习是如此,写书同样是如此。

文章编辑:沙鱼 审校:桐希,刘雅思

参考来源:

[1] 耿远昊.pandas数据处理与分析.[M].北京:人民邮电出版社,2022.

[2] datawhalechina/joyful-pandas: pandas中文教程..

[3] Community tutorials — pandas

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可以叫我才哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档