发现许多小伙伴入门Python几个月,还是低效率做数据处理。这套课程以形象的示意图,精心安排的案例,循序渐进带你玩转数据处理分析神器——pandas,课程中还有分析案例噢,干货满满!
前言
上一节我们已经熟悉了 DataFrame 的 index、columns、values 直接的转移,那么这节就有足够的知识快速理解透视与逆透视操作。
长表与宽表
一份表格数据,可以按照其数据形状划分为2种:长表与宽表。 直接看看图示:左边为长表,这是因为看起来他的长度比宽度要大。实际是说,当数据持续增长时,表格会以纵向增长(行变多)右边为宽表,相对宽表而言,当数据持续增长时,表格会以横向增长(列变多)一般来说,规范的数据应该是长表。这对数据统计分析更有利。而宽表一般以报告形式出现,这有利于让人在有限的空间内看清楚数据的整体情况。
对应我们上一节课程中的知识点,stack 是把宽表变长表,unstack 是把长表变宽表。
今天将会介绍 pandas 中对表格塑形的2个便捷方法—— pivot 与 melt。
重塑的限制
以前的章节已经介绍过透视表—— pivot_table ,透视表的作用主要以宽表的形式"汇总数据",透视表的核心是汇总。这是因为在从长表转宽表时,很多时候会出现多个数据交汇在一起,这也是为什么 pivot_table 方法中有一参数 aggfunc ,这参数用于表示数据聚合的处理方式。由于 index 与 columns 都是会以唯一值显示,因此会导致最终的宽表需要多个值聚合在一起上面的例子我们看到,当把数据转为透视表后,可能就无法通过逆操作把数据恢复回来