动手学数据分析 Task03:数据重构
文章目录动手学数据分析Task03:数据重构一、重点与思考二、阶段性提问动手学数据分析本次跟随Datawhale组织的动手学数据分析组队学习,对数据分析继续加强学习,希望能有所收获。Datawhale是一个很好的开源组织,会组织很多优质、开源的系列学习。附上本次组队学习的计划和教程资料,如果链接失效,可点击这里前往Datawhale官网自行查找,即使没有当时加入组队学习,有兴趣的话从现在开始学习也
动手学数据分析
本次跟随Datawhale组织的动手学数据分析组队学习,对数据分析继续加强学习,希望能有所收获。Datawhale是一个很好的开源组织,会组织很多优质、开源的系列学习。
附上本次组队学习的计划和教程资料,如果链接失效,可点击这里前往Datawhale官网自行查找,即使没有当时加入组队学习,有兴趣的话从现在开始学习也不晚哦~
由于此次是需要有一些pandas基础,之前有做过pandas的脑图总结,有需要的同学可以点这里前往获取。
现在学习喜欢用脑图的方式,知识点清晰明了,易于查找和复习,希望也可以帮助大家梳理知识脉络,同时欢迎补充。
Task03:数据重构
本次任务脑图的内容不多,基本上都是之前内容的查找,所以重点看一下第二部分的阶段性提问吧。
链接:https://pan.baidu.com/s/1KRF3-ewcZaP-f8–5SKUNA
提取码:31k8
一、重点与思考
筛选了一些比较重要的操作以及一些思考的回答:
任务三:使用concat方法:将train-left-down和train-right-down横向合并为一张表,并保存这张表为result_down。然后将上边的result_up和result_down纵向合并为result。
答:红色地方是我新学到的一个拼接时很好用的一个参数,相当于reset_index()的操作。
任务五:使用Panads的merge方法和DataFrame的append方法:完成任务二和任务三的任务
答:通过该问题,对merge有了新的认识。
【思考】对比merge、join以及concat的方法的不同以及相同。思考一下在任务四和任务五的情况下,为什么都要求使用DataFrame的append方法,如何只要求使用merge或者join可不可以完成任务四和任务五呢?
答:
- merge:横向拼接,数据库样式的联接合并,可以指定连接的键。
- join:横向拼接。
- concat:横向或纵向拼接都可以。
因为使用append才可以进行纵向的拼接(追加行),当然concat也行。
只有merge,join不行,因为二者都是横向拼接。
【思考】从任务二到任务四中,这些运算可以通过agg()函数来同时计算。并且可以使用rename函数修改列名。你可以按照提示写出这个过程吗?
任务七:得出不同年龄的总的存活人数,然后找出存活人数的最高的年龄,最后计算存活人数最高的存活率(存活人数/总人数)
二、阶段性提问
-
DataFrame排序的方法有哪些?如果希望数据根据列A为主升序排,列B为辅降序排,应该如何实现?
答:
感兴趣的同学可以看Joyful-Pandas第一章第四节排序中找到。第二个问题我也是学到新的知识,原来ascending参数还可以接受与by相同长度的bool列表,也就是实现上述问题的方法。
-
DataFrame和Series可以进行加减乘除运算吗?对应的方法分别是什么?观察一下数据结构不一样的它们是如何实现运算的
-
pandas中很多函数(比如concat都有axis这个参数,它的不同取值分别是什么含义?参数的默认取值是什么?
答:
axis参数是指延行或列方向进行某个操作,0代表行方向(纵向),1代表列方向(横向),默认为0(纵向) -
concat,merge,join还有append的用法分别是什么?你能区分它们吗?
具体可以看Joyful-Pandas第五章,这里只给脑图供参考,脑图可在文章顶部获取。
-
对数据groupby后常用的聚合函数有哪些?如何实现对不同的列采取不同的聚合函数?
答:
常用聚合函数:mean/sum/size/count/std/var/sem/describe/first/last/nth/min/max,具体含义可以点击这里查看练习与问题中的问题四。
对不同的列采取不同的聚合函数,采用字典的方式:
-
如何遍历groupby后的数据?
答:
参考Joyful-Pandas第三章分组的groupby的遍历。
-
groupby默认是将具有相同值的行分成一组,能不能自定义分组函数呢?比如数据有一列城市名,但是我希望根据一线城市、二线城市来分组,如何实现?
答:
可以,参考Joyful-Pandas第三章分组的groupby分组依据。
更多推荐
所有评论(0)