1:构建数据

"""
pivot_table() 的特点就是默认显示指定索引列和所有数值列。
索引显示的是唯一值,所以会把对应的数值处理成均值。
其他str类型的列都会自动忽略。\n当然,使用pivot_table() 时,
可以通过添加参数进行计数或求和\n\n示例中账号是int类型,
如果是str类型,那么运行结果不会显示[‘账号’]这一列的内容。
"""import numpy as np
import pandas as pd
df = pd.DataFrame({'账号':[714466,714466,714466,737550,146832,218895,218895,412290,740150,141962,163416,239344,239344,307599,688981,729833,729833],'客户名称':['华山派股份有限公司','华山派股份有限公司','华山派股份有限公司','丐帮(北京) 合伙人公司','恶人谷资产管理公司','桃花岛','桃花岛','有间客栈','逍遥子影业','白驼山(上海)影视艺术有限公司','聚贤庄','全真教药业','全真教药业','天地会快递','福寿堂','快手三教育培训有限公司','快手三教育培训有限公司'],'销售':['令狐冲','令狐冲','令狐冲','令狐冲','江小鱼','江小鱼','江小鱼','段誉','段誉','欧阳克','欧阳克','欧阳克','欧阳克','韦小宝','韦小宝','韦小宝','韦小宝'],'销售总监':['岳不群','岳不群','岳不群','岳不群','岳不群','岳不群','岳不群','岳不群','岳不群','完颜洪烈','完颜洪烈','完颜洪烈','完颜洪烈','完颜洪烈','完颜洪烈','完颜洪烈','完颜洪烈'],'产品':['黑玉断续膏','葵花宝典','含笑半步癫','黑玉断续膏','黑玉断续膏','黑玉断续膏','葵花宝典','含笑半步癫','黑玉断续膏','黑玉断续膏','黑玉断续膏','含笑半步癫','葵花宝典','含笑半步癫','黑玉断续膏','黑玉断续膏','如意勾'],'数量':[1,2,1,3,1,3,1,2,4,2,2,1,3,5,2,3,1],'价格':[3000,2000,1000,3000,1000,3000,1000,2000,4000,2000,2000,1000,2000,3000,1000,4000,2000],'状态':['流程中','流程中','待审批','驳回','已完成','流程中','流程中','待审批','驳回','已完成','流程中','待审批','待审批','已完成','已完成','驳回','流程中'],})

数值类型的字段只有:账号,数量,价格。

2:index 指定单索引\n索引变成了[客户名称]这一列,values显示的只有数字,而且都处理成均值。

比如:华山三个,数量4/3,价格6000/3,账号就不用说了,三个都一样,均值自然就是其中一个;快手两个,数量4/2,价格6000/2

df1 = pd.pivot_table(df, index=['客户名称'])

3:指定多索引   索引顺序能决定不同的视觉体验,虽然结果是一致的。

df2 = pd.pivot_table(df, index=['销售总监', '销售', '客户名称'])df3 = pd.pivot_table(df, index=[ '销售', '客户名称','销售总监'])

3:values

如果不需要显示全部的数值列,可以用Values参数指定

# 显然Values不能随便指定,pivot_table()只能显示数值列
print(pd.pivot_table(df, index=['客户名称'], values=['状态']))

4:aggfunc

当我们未设置aggfunc时,它默认aggfunc='mean’计算均值。其它如下

df4 = pd.pivot_table(df, index=['销售总监','销售','客户名称'],values=['数量','价格'],aggfunc=np.sum)
df5 = pd.pivot_table(df, index=['销售总监','销售','客户名称'],values=['数量','价格'],aggfunc=[np.mean,len,np.sum])

5:columns

fill_value

columns参数就是用来显示字符型数据的,和fill_value搭配使用

补充:当 values,aggfunc,columns 的取值只有一个时,有无中括号效果略有不同。

df6 = pd.pivot_table(df, index=['销售总监'], values=['价格'],aggfunc=[np.sum],columns=['产品'],fill_value=0)

6:更加复杂的有:

df7 = pd.pivot_table(df,index=['销售总监','状态'], values=['数量','价格'], columns=['产品'],aggfunc={'数量':len,'价格':np.sum},fill_value=0,margins=True)

数据透视表——pivot_table学习(特征工程)相关推荐

  1. 用python做透视表_python制作数据透视表pivot_table方法详解

    数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照 ...

  2. Python数据分析——Pandas基础:dt.datetime与pivot_table()数据透视表

    系列文章目录 Chapter 1:创建与探索DF.排序.子集化:Python数据分析--Pandas基础入门+代码(一) Chapter 2:聚合函数,groupby,统计分析:Python数据分析- ...

  3. 【DS with Python】DataFrame的合并、分组聚合与数据透视表

    文章目录 前言 一.DataFrame的合并 1.1 按列名合并 (pd.merge()) 1.2 相同列添加行数 (pd.concat()功能) 二.应用 (.apply()功能) 三.分组 (.g ...

  4. 实战 SQL:销售数据的小计/合计/总计以及数据透视表

    文章目录 小计.合计与总计 多维度交叉统计 自定义统计维度 数据透视表 总结 学习过 SQL 的人都知道,使用聚合函数(AVG.SUM.COUNT.MIN/MAX 等)和分组操作(GROUP BY)可 ...

  5. Excel 数据透视表小技巧之 02 如何统计唯一值数量 (教程含数据和解决方案)

    实战问题 如何统计唯一值数量 ABC 123 ABC 123 ABC 123 DEF 456 DEF 567 DEF 456 DEF 456 这似乎是一个简单的数据透视表来学习.我想为我分组的特定值计 ...

  6. 学习SQL:SQL Server数据透视表

    In the previous few articles in this series, we've set the foundations on how to create a report. We ...

  7. 对比Excel,学习pandas数据透视表

    Excel中做数据透视表 ① 选中整个数据源: ② 依次点击"插入"-"数据透视表" ③ 选择在Excel中的哪个位置,插入数据透视表 ④ 然后根据实际需求,从 ...

  8. Excel数据透视表只能求和运算?快来学习求差运算小技巧

    点赞再看,养成习惯:天下兴亡,匹夫有责. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...

  9. Pandas实现(pivot_table函数)数据透视表

    使用pandas中的pivot_table()实现数据透视表.语法格式如下: pd.pivot_table(data,values=None,index=None,columns=None,aggfu ...

最新文章

  1. 手机耗电统计app_Android O新特性:精确统计APP电量消耗
  2. 如何应用Java的可变参数
  3. php导出数据库的指定表数据,MYSQL教程mysql数据库导出指定表数据的方法
  4. 信息学奥赛一本通 1080:余数相同问题 | OpenJudge NOI 小学奥数/2.1 7647:余数相同问题
  5. linux vi 复制一个单词_vi或vim的快速操作技巧你知道吗?
  6. json中含有Unicode的处理办法 C#
  7. quatus ii 常见错误及其改正方法
  8. Unix/Linux编程:Unix文件系统回顾
  9. 明尼苏达双城计算机科学硕士申请截止日期,明尼苏达大学双城分校
  10. linux内核下载 ok6410,手把手教你移植linux内核---------OK6410(一)
  11. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
  12. QQ群文件下载速度慢解决办法
  13. mybatis在工作中的使用简介
  14. xms java_java xms xmx xmn xss解释
  15. 如何在iPhone和iPad上隐藏IP地址,保护个人隐私信息
  16. uniapp 创建小程序使用云开发
  17. android手机几大厂商排行榜,各大手机厂商的核心产品UI排行榜出炉
  18. ImageMagick再爆严重漏洞,可导致雅虎邮箱用户邮件内容泄漏
  19. 传智播客mysql分页的实现_传智播客 2010-03-07 员工信息的AJAX分页实现
  20. 局域网攻击与网络设备安全配置

热门文章

  1. 十一、Vue之请求数据
  2. Android录屏实现
  3. IDC-- Internet Data Centre(Center) 互联网数据中心?IDC-Information Data Centre(Center)信息数据中心
  4. 给 2020 一份答卷 _ 掘金年度征文
  5. 升级家庭影院怎能少得了杜比全景声?——飞利浦全景声回音壁B8905
  6. 中华卫士、天融信、方正防火墙整体性能优势对比
  7. 光遇android和ios有什么区别,光遇安卓和苹果可以一起玩吗?
  8. 保险双录政策再开放,菊风推出泛金融视频双录解决方案
  9. Ubuntu 安装VLC
  10. Catlike渲染教程之贴图混合