前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据透视功能之 pivot_table()介绍

Python数据透视功能之 pivot_table()介绍

作者头像
double
发布2019-05-28 18:54:00
4K0
发布2019-05-28 18:54:00
举报
文章被收录于专栏:算法channel算法channel

pivot_table

pivot()函数没有数据聚合功能,要想实现此功能,需要调用Pandas包中的第三个顶层函数:pivot_table(),在pandas中的工程位置如下所示:

pandas

|

pivot_table()

如下,构造一个df实例:

调用如下操作:

参数index指明A和B为行索引,columns指明C列取值为列,聚合函数为求和,values是在两个轴(index和columns)确定后的取值用D列。得到结果如下:

其中聚合函数可以更加丰富的扩展,使用多个。如下所示,两个轴的交叉值选用D和E,聚合在D列使用np.mean(), 对E列使用np.sum, np.mean, np.max, np.min

得到结果如下所示:

函数原型

fill_value: 空值的填充值;

dropna: 如果某列元素都为np.nan, 是否丢弃;

margins: 汇总列, margins_name: 汇总名称

margins参数默认为False,如果设置为True,会得到每列的汇总,如下df实例

设置margins为True,汇总行索引为名称自定义为self_name:

注意

margins设置为True后,目前pandas 0.22.3版本只支持聚合函数为单个元素,不支持为list的情况,如下:

会报出异常:

透过pivot_table聚合功能源码(如下所示),我们发现它本身是通过调用groupby()及其agg()实现的。

代码语言:javascript
复制
grouped = data.groupby(keys, observed=False)agged = grouped.agg(aggfunc)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档