Python电商数据分析实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 如何高效学习Pandas

正确的方法对于技能的学习尤为重要,对于Pandas来说,逐个模块硬啃是一种学习方法,但我认为并不正确。那么,学习Pandas有哪些误区一定要避开,又有什么高效的学习方法呢?且听我一一道来。

1.2.1 Pandas学习中的误区

在战场上,向敌人发起冲锋之前,把预期经过路线上的陷阱排掉,可以有效地保存实力。为了更高效地学习,在正式开始讲Pandas操作之前,我觉得有必要先和大家聊聊Pandas学习中的常见误区。

很多对Python数据分析感兴趣的学习者很快就熟悉了Python基础语法,然后下定决心,一头扎进好几百页的经典大部头中,硬着头皮啃完之后,好像自己什么都会了一点,然而实际操作起来要么无从下手,要么漏洞百出。

究其原因,理解不够、实践不够是两只经典的“拦路虎”,我们只能靠自己多想多练来克服。还有一个非常有意思且经常被忽视的因素——陷入举三反一的糊涂状态

什么意思呢?假如我是只旱鸭子,想去学游泳,教练很认真地给我剖析了蛙泳的动作,扶着我的腰让我在水里划拉了5分钟,接着马上给我讲解了蝶泳,又让我划拉了5分钟,然后又硬塞给我仰泳的姿势,依然让我划拉5分钟。最后,教练一下子把我丢进踩不到底的泳池,给我呐喊助威。

对于我这只还没入门的旱鸭子,教练倾囊传授给我3种游泳技巧,并让我分别实践了5分钟。这样做的结果就是我哪一种游泳技巧也没学会,只学会了喝水。

如果一个初学者一开始就陷入针对单个问题的多种解决方法,而对每一种方法的实践又浅尝辄止,那么他在面对具体问题时往往会手忙脚乱。

拿Pandas来说,它有多种构造方式、多种索引方式以及类似效果的多种实现方法,初学者如果上来就贪大求全地去挑战“某种操作的N种实现方法”,很容易陷入举三反一的糊涂状态,结果学了多种实现方式,但真到用的时候连一种都用不好。

所以,为了避免大家陷入各种操作实现的细节,我会结合数据分析工作中的实际使用情况,提炼出高频Pandas知识点,一切以数据分析应用为导向,让学习更加明确

1.2.2 高效学习Pandas

1.二八法则在Pandas中的应用

刚才我们了解了Pandas学习的误区,那些是不建议做的,但到底应该怎样做才能高效学习Pandas呢?

在二八法则的基础之上,我总结出了“二八学习法”,它适用于很多技能类的学习。拿Pandas学习来说:

第一步,以结果为导向,明确学习目的。很多人学习Pandas是为了提升数据处理和分析效率。

第二步,基于目标,花20%的时间,通过向更有经验的前辈请教和浏览相关实践资料,了解所学技能在实践中的常用场景和操作。比如在Pandas数据分析中,主要会用到DataFrame格式,常用到行列索引,以及增、删、选、改等数据处理操作。

第三步,花80%以上的时间重点啃下Pandas最常用的操作。啃的过程中不要迷失,对于一种实现方式只记一种常用操作方法,结合案例,边学边练,直到吃透。

一句话总结二八学习法:花20%的时间明确目标和常用场景,花80%的时间把与目标场景相关的核心操作反复练习,直至了然于胸。

最终,我们虽然只掌握了某个技能或工具不到20%的使用技巧,但却可以覆盖80%以上的应用场景,用20%撬动80%,成为别人眼中的高手。

2.Pandas学习路线

Pandas学习路线应该是怎样的?为了更好地回答这个问题,以结果为导向,我带大家还原几个高频场景。

有数可用。数据是一切分析的基础,要用Pandas来做数据分析,首先得有数据。因此,第一个高频场景是熟悉Pandas的基础数据结构以及用Pandas打开各种常见类型的数据源。

认识数据。有了数据之后,常见的操作是先对数据做一个总览,比如数据长什么样子,包含多少行多少列,每一列的格式是怎样的,有没有缺失值等。对数据进行快速扫描是第二个高频场景。

操作数据。对数据有了基本的认知后,我们需要结合分析目的,对数据进行一系列操作,包括在原有数据基础上创建新的列,删除某些异常的行和空缺过多的列,基于某些分析条件筛选出我们想要的数据,以及对原有数据做其他处理。这些操作可以概括为增、删、选、改,其中最重要的是选。

高效灵活地处理数据。常规的增、删、选、改操作已经能够覆盖大部分的需求,但在有些场景下需要一定的自定义化,例如通过自定义函数和apply结合的方式,极其灵活地完成更复杂的数据处理。这些场景可以概括为Pandas的进阶操作。

总结一下,本书将会从数据创建和导入、数据预览、增删选改、进阶操作几个方面重点展开,以贴合实际的数据分析场景。

最后需要注意的是,Pandas和Excel、SQL相比,只是调用、处理数据的方式不同,核心也是对数据进行一系列的处理和分析。在正式处理之前,更重要的是谋定而后动,明确分析的意义,厘清分析思路之后再处理和分析数据,一定会事半功倍。