Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。

数据透视表(Pivot Table)是一种交互式的表格,可以进行某些计算,如求和与计数等。

用于对明细数据表进行各种分类汇总。

假如我们有以下数据:

数据少,便于人脑计算理解。

分别是id(销售),date(日期),goods(商品),sales(销量)

问题:统计每个人每天销售商品 A 和 B 的销量之和。

便于对比说明,先在WPS表格中实现了简单的数据透视表。

在Pandas官方文档的说明中,方法和参数如下:

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

参数解释:(如解释有误,请指出,谢谢!)

data,即要进行透视表的数据,格式为DataFrame

values,用来汇总计算的列,如这里的销量

index,用来分类的列,如这里的人员和商品,在透视表中表现为行的标题

column,用来分类的列,如这里的日期,在透视表中表现为列的标题

aggfunc,用来汇总计算的方法,比如求和,则为aggfunc='sum',默认为求平均数mean

fill_value,用来填充计算结果中的空值,比如填充为0,则为:fill_value=0

margins,用来当所有的行或者列相加,得到总数;默认不汇总计算

dropna,用来去掉汇总结果全为空的列,默认不去掉

margins_name,当margins为Ture,即计算汇总时,对应行列的标题名称,默认为:All

最常用和重要的参数是:index、values、columns、aggfunc

那么用Pandas进行上面要求的透视表计算,代码如下:

获取数据:

import pandas as pd
import numpy as np'''省略了从excel中读取数据的步骤,直接在这里生成数据'''df = pd.DataFrame({'id': ['张三','张三','李四','王五','张三','李四','李四','王五','张三','李四','张三','李四'],'date': ['2019-01-01', '2019-01-01', '2019-01-01','2019-01-01', '2019-01-02','2019-01-02', '2019-01-02', '2019-01-02', '2019-01-03', '2019-01-03', '2019-01-04', '2019-01-04'],'goods':['A','B','A','B','A','A','B','A','A','B','A','A'],'sales': [3000, 2000, 3000, 2000, 3000, 3000, 2000,3000, 3000, 2000,3000, 3000]},columns = ['id','date','goods','sales'])
df

运行结果如下:

透视表操作代码:

df1=pd.pivot_table(df, index=['id','goods'], columns='date', values='sales', aggfunc=[np.sum], fill_value=0, margins=True,margins_name='总计')
df1

运行结果如下:

保存为Excel:

df1.to_excel('test_pivot.xls')

运行结果如下:

参考资料:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html

用Pandas做透视表相关推荐

  1. pandas pivot_table透视表、crosstab交叉表、aggfunc函数详解及实战

    pandas pivot_table透视表.crosstab交叉表详解及实战 pivot_table透视表.crosstab交叉表的本质是一样的,都是通过对表格的透视或者重新排布.人为设置信息的行和列 ...

  2. Pandas简明教程:八、Pandas数据透视表

    透视表(pivot)是由微软发明的一个概念,1993年微软注册了PivotTable这一商标,而他们又在2020年正式撤销了注册. 关于透视表的话题随便搜搜就是一大堆,而有些地方可能都吹得很神了.透视 ...

  3. NO.111 禅道导出数据做透视表,让你轻松做年终工作总结。

    为什么80%的码农都做不了架构师?>>>    年底了,很多公司都要求大家写年终工作总结.估计很多童鞋就开始犯愁了.年年写,来来去去总是那些模式,自己都觉得没意思. 今天,教大家一招 ...

  4. pandas 数据透视表

    pandas 数据透视表及逆透视 主要参数说明 pd.pivot_table(df,index= [] ,columns= [] ,values = [] , aggfunc={"Quant ...

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

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

  6. Pandas中透视表和交叉表

    文章目录 一. 什么是透视表? 二.为什么要使用pivot_table? 三.pivot_table api认识 四.如何使用pivot_table? 4.1 读取数据 4.2 使用index参数 4 ...

  7. Pandas数据分析15——pandas数据透视表和交叉表

    参考书目:<深入浅出Pandas:利用Python进行数据处理与分析> pandas对数据框也可以像excel一样进行数据透视表整合之类的操作.主要是针对分类数据进行操作,还可以计算数值型 ...

  8. 学习pandas数据透视表

    1.excel中做数据透视表 1)步骤如下 ① 选中整个数据源: ② 依次点击"插入"-"数据透视表" ③ 选择在Excel中的哪个位置,插入数据透视表 ④ 然 ...

  9. 用python做透视表_用Python实现数据的透视表的方法

    用Python实现数据的透视表的方法 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  用Python实现数据的透视表的方法.txt ] (友情提示:右键点上行tx ...

  10. python数据透视、有的value不能同时输出_python – Pandas数据透视表ValueError:索引包含重复的条目,无法重新整形...

    我有一个如下所示的数据帧(前3行): Sample_Name Sample_ID Sample_Type IS Component_Name IS_Name Component_Group_Name ...

最新文章

  1. centos6.9安装oracle10,2018-10-09 centos6.9 安装cx_Oracle
  2. 经典面试题:在这个场景下,你怎么进行性能调优?
  3. Python基础综合练习
  4. Linux内存初始化(C语言部分)
  5. 快速排序算法的简短描述
  6. 【渝粤教育】国家开放大学2018年春季 0014-21T秘书学(一) 参考试题
  7. 42 github 开源代码 ——README.md语法/相关操作等
  8. 城市能源管理系统、实时监测、运行监测、负荷效应、预警管理、设备管理、设备入库、设备安装、设备检修、设备报废、设备查询、控制策略、系统集成、HTML/CSS/Bootstrap/jQuery/JS
  9. python如何将数据生成excel_python的将数据生成excel功能
  10. (day 53 - 动态规划 ) 剑指 Offer 63. 股票的最大利润
  11. C#访问MySQL数据库帮助类
  12. 固态硬盘(samsung SSD 850 pro)相关问题
  13. 不靠加速器 路由配置也可扭转网游战局
  14. 基于DAC8563模块的低速模拟振镜驱动,实现直线插补,点到点划线
  15. 睡眠监测目前的原理分析
  16. jquery 表单验证插件
  17. python3之微信文章爬虫
  18. 利用H5SVG实现线性动画效果
  19. 华为 小米 OPPO 手机type-c快充接口 会用到什么胶水?
  20. NFT新范式,OKALEIDO创新NFT聚合交易生态

热门文章

  1. 单片机c语言延迟子程序,单片机通用延时子程序
  2. (转)ICO泡沫:8万本金赚套房子和宝马 几分钟十几万没了
  3. android 控件宽度自适应_自适应各Android手机屏幕尺寸的解决方法
  4. ednote服务器运行失败,Endnote安装出现错误的解决办法
  5. 生成器和生成器表达方式
  6. 农产品区块链溯源:疫情催使下的农产品认知升级
  7. 原生JavaScript批量下载文件压缩包
  8. 5分钟学会Pixel刷机
  9. ddl是什么意思网络语_大学赶ddl是什么意思?DDL语句有什么功能?
  10. 原生js 实现大鱼吃小鱼效果