python中的数据透视表pivot_table参数详解

官方文档参考:Jupyter Notebook Viewer

其他文档参考:Pandas_聚合数据_pivot_table()_Python_学习笔记-CSDN博客

pd.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')

在需要多个group by的时候,可以优先考虑此函数

1.index

相当于sql里的group by后面的列,用于分组的列,相当于行索引

如果赋值的是列表,那么从左到右依次聚合,会自动合并第一列相同的值

2.values

相当于sql里的聚合函数操作的列,放在聚合函数里的列

上面说明是对Price聚合,如果不指定其他参数 ,默认聚合是求平均

3.aggfunc

相当于sql里的聚合函数,如果不指明,默认求平均.可以接受列表,即对values作不同的聚合,也可以接受字典,即对不同的values作不同的操作,也可以将字典里的值改为列表形式的,即对某列作几种不同的操作.切记,对于aggfunc,操作的是values后面的值,而不是columns后面的值.

这个就是对Quantity列求count,对Price列求和

对Price列分别求和和求平均两种操作,可以看出,上面的mean*len=sum,len相当于count

4.columns

相当于列索引,就是更细化地展示一些内容.

从上面两图可看出,以john smith为例,在图一中总和是40000,可以细化成下面几部分:

80000=CPU(35000)+Maintenance(5000)+Monitor(0)+Software(0)

相当于把总的情况细致化,可以看清楚每部分的情况.同时也发现一个问题,有NAN,其实也就是0,这就需要用fill_value来填充.

5.fill_value

就是填充NAN的.

6.margins

不是简单地求和,而是与 aggfunc 的规则相同,为True时会添加行/列的总计.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值