接上篇文章,利用pivot()来实现行列的转换,快速简单达到效果,这就是python的神奇之处。
上篇我们开头创建的表数据,使用的是备份清理的数据,原始数据df并没有改变,所以直接拿过来使用
看看怎么一个函数就到达分组行列转换的?
一句话道破天机:其实pivot就是一个快捷方式而已,他是利用set_index先创建层次化索引,再用unstack进行行列转换。
是不是很NB
接下来只需要填充空值和求平均分了
接下来我们尝试用更简单的方法实现上面的效果
pivot_table() 数据透视表功能,我们都知道excel有数据透视表,pandas也有数据透视表功能,并且非常强大。 pivot没有数据聚合功能。
还回到原始数据表df的形式,使用数据透视表看看如何实现,还是老方法先展示效果,再解释原理。
确实很强大吧,一个函数一行代码就把数据透视表做了。
具体这些参数是干什么用的?下面在来一一解释参数的作用
函数构造如上图pivot_bable()函数的全部参数:
value:需要汇总的列
index:索引,数据透视表中的分组,行
columns:列
aggfunc: 聚合函数,用于汇总列,可以是函数或函数列表
fill_value:填充缺失的值
margins:添加行与列,是个布尔值,是指添加的例如小计或汇总的列或行
margins_name:添加行列的名字
dropna:如果某列元素都为np.nan, 是否丢弃;
网友评论