Pandas基础学* Task04:变形(知识梳理脑图+全部资源教程)

发布于:2021-05-14 03:06:10



文章目录
Pandas基础学*一、Task04:变形二、问题与练*1、问题2、练*




Pandas基础学*

本次跟随Datawhale组队学*Pandas基础,希望能有所收获。Datawhale是一个很好的开源组织,会组织很多免费的知识学*。


附上本次组队学*的计划和教程资料,即使没有当时加入组队学*,有兴趣的话从现在开始学*也不晚哦~


现在学*喜欢用脑图的方式,知识点清晰明了,易于查找和复*,希望也可以帮助大家梳理知识脉络。


Pandas基础学*(上)
Task01:Pandas基础
Task02:索引
Task03:分组
Task04:变形
Task05:合并
Task06:综合练*
Pandas基础学*(下)


一、Task04:变形


链接:https://pan.baidu.com/s/1J7oD6gnHzRF8xEk6DDpsHg
提取码:xqvt


二、问题与练*
1、问题

【问题一】 上面提到了许多变形函数,如melt/crosstab/pivot/pivot_table/stack/unstack函数,请总结它们各自的使用特点。


pivot:速度较快,但功能少,同时不允许重复行索引对。但一般使用功能多的pivot_table。


pivot_table:功能更多,速度较慢。较为灵活,可以从不同的组合查看某值的情况,还可以看各组的统计情况和整体的统计情况。


crosstab:交叉表,一种特殊的透视表,典型的用途如分组统计。感觉主要是查看各组合的频数情况,可以看各组的统计情况和整体的统计情况。。


melt:将透视表还原,将unstacked状态的数据,压缩成stacked,使“宽”的DataFrame变“窄”。可以指定要压缩的列。


stack:功能与melt类似,不同点是通过将横向的索引放到纵向来达到压缩的目的,且不能指定要压缩的列。


unstack:功能与pivot_table类似,不能指定某个组合。


【问题二】 变形函数和多级索引是什么关系?哪些变形函数会使得索引维数变化?具体如何变化?


可以说多级索引是由变形函数产生的。


pivot/pivot_table:前者通过解压多列增加维数,后者相似,只不过可以通过对组内进行聚合统计增加维数。


crosstab:通过多级分组增加维数。


stack:通过压缩将横向的索引放到纵向,减少维数。


unstack:通过解压加维数。


【问题三】 请举出一个除了上文提过的关于哑变量方法的例子。



【问题四】 使用完stack后立即使用unstack一定能保证变化结果与原始表完全一致吗?


不一定,如例子一样,unstack后还需要交换索引层,并排序层索引才能与原表一样.


【问题五】 透视表中涉及了三个函数,请分别使用它们完成相同的目标(任务自定)并比较哪个速度最快。

【问题六】 既然melt起到了stack的功能,为什么再设计stack函数?


我的感觉是stack可以压缩多级索引,而且较为简便,而melt只能压缩单级。


2、练*

【练*一】 继续使用上一章的药物数据集

(a) 现在请你将数据表转化成如下形态,每行需要显示每种药物在每个地区的10年至17年的变化情况,且前三列需要排序

(b) 现在请将(a)中的结果恢复到原数据表,并通过equal函数检验初始表与新的结果是否一致(返回True)


【练*二】 现有一份关于某地区地震情况的数据集,请解决如下问题:

(a) 现在请你将数据表转化成如下形态,将方向列展开,并将距离、深度和烈度三个属性压缩

(b) 现在请将(a)中的结果恢复到原数据表,并通过equal函数检验初始表与新的结果是否一致(返回True)

相关推荐

最新更新

猜你喜欢