像Excel一样使用Python,pandas的pivot_table实现数据透视

本文介绍了如何利用pandas的pivot_table函数实现类似Excel的数据透视操作。内容包括设置不同参数如values、index、columns、aggfunc来完成分组计算、函数应用,以及如何显示汇总项和选择不同的聚合函数。

更多文章可关注微信公众号:Excelwork

   习惯了使用Excel中的透视表功能,在使用Python处理数据时,我们也希望也能快速的进行排列、计算数据,以供我们完成快速观察、分析数据。在pandas库中,pivot_table函数可以帮助我们完成相关工作。

其语法如下:

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

  • data为我们分析的数据集

  • values表示被统计的数据列(一列或多列)

  • index根据索引进行分组

  • columns表示按列字段进行分组

  • aggfunc表示对数据汇总使用的函数,默认取均值(可以是函数、函数列表、字典)

  • margins默认False,表示不输出汇总项,同Excel透视表的汇总项

数据样例如下:

01 简单应用

    计算各销售区域平均营销费用,aggfunc参数按默认即可:

p=pd.pivot_table(data,values='营销费用:万',columns='销售区域')

结果如下:

02 按索引分组

    计算各销售区域平均营销费用,将columns参数改为index:

p2=pd.pivot_table(data,values='营销费用:万',index='销售区域')

结果如下:

03 输出总计

    计算各销售区域平均营销费用,将columns参数改为index,增加margins参数,等于True:

p3=pd.pivot_table(data,values='营销费用:万',index='销售区域',margins=True)

结果如下:

04 按字段列表分组

    计算各销售区域、各类别的平均营销费用:

p4=pd.pivot_table(data,values='营销费用:万',index=['销售区域','类别'])

结果如下:

05 设置函数

    计算营销费用和销售费用总和,通过给aggfunc参数选择sum函数即可:

p5=pd.pivot_table(data,values=['营销费用:万','销售金额:万'],columns='销售区域',aggfunc=np.sum)

结果如下:

06 设置函数列表

    这里仅为举例子需要,比如对营销费用求和,对销售金额取均值,则需要给aggfunc传入函数列表:

p6=pd.pivot_table(data,values=['营销费用:万','销售金额:万'],index='销售区域',aggfunc=[np.sum,np.average])

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值