Python Pivot table透视表使用方法解析


Posted in Python onSeptember 11, 2020

Pivot 及 Pivot_table函数用法

Pivot和Pivot_table函数都是对数据做透视表而使用的。其中的区别在于Pivot_table可以支持重复元素的聚合操作,而Pivot函数只能对不重复的元素进行聚合操作。

在一般的日常业务中,因为Pivot_table的功能更为强大,Pivot能做的不能做的Pivot_table都可做。所以只需要记住Pivot_table函数用法就好了。

Pivot函数的使用演示

#%%

import pandas as pd

df01 = pd.DataFrame(
  {
    "年份":[2019,2019,2019,2020,2020,2020],
    "平台":["京东","淘宝","拼多多","京东","淘宝","拼多多"],
    "销量":[100,200,300,400,500,600]
  }
)

df01

#%%

pd.pivot(df01,
     index = "年份",
     columns = "平台",
     values = "销量")

#%%

聚合后结果

Python Pivot table透视表使用方法解析

Pivot_table函数的使用演示

注释:index指定什么元素作为index显示,columns指定列,values指定统计的值。一般values都为int后者float类型的值。aggfunc为聚合函数可以指定(mean,sum,Min,Max等统计运算等函数,如果不指定默认为mean均值)

df02 = pd.DataFrame(
  {
    "年份":[2019,2019,2019,2019,2020,2020,2020,2020],
    "平台":["京东","淘宝","淘宝","拼多多","京东","淘宝","拼多多","拼多多"],
    "销量":[100,200,300,400,500,600,700,800]
  }
)
df02
#%%
#pivot_table用的很多.因为可以对重复的元素进行聚合操作.而pivot函数只能对不重复的行进行运算

pd.pivot_table(df02,
        index="年份",
        columns="平台",
        values="销量",
        aggfunc=sum #聚合函数来对销量进行运算.可以指定最大,最小,平均值等函数.默认为mean平均值
)
#%%

聚合结果

Python Pivot table透视表使用方法解析

对比结果:这里要强调一点的是,2020年平台为拼多多的数据出现了2次,而且2次的值不同。在pivot函数中是无法对这种重复平台的数据进行聚合的,但是Pivot_table则可以。

另外通过聚合函数aggfunc指定sum求和,可以把2次的值累加统计。

Pivot_table函数真实案例演示

1. 读取表格数据

#%%
df = pd.read_excel("./datas/result_datas.xlsx",
         ).convert_dtypes()  #读取数据并自动转化type
df.dtypes
#%%
df.head(3)
#%%

Python Pivot table透视表使用方法解析

2. 通过Pivot_table函数透视合并数据并对金额和数量做统计

因为涉及到敏感信息,因此服务卡卡号等敏感信息部分遮掩不显示。但是通过部分结果也可以看出是按照号码进行升序排序的

#按照自定义指定index,columns,values值
result = pd.pivot_table(df,
        index = ["姓名","服务卡卡号","明细","规格"],
        values = ["理赔金额(元)","数量"],
        aggfunc=sum
        )
result = result.sort_values("服务卡卡号") #按照指定values值排序
result

#%%

#输出到文件
result.to_excel("./datas/output_datas.xlsx")
print("Done!!!")

Python Pivot table透视表使用方法解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python提示No module named images的解决方法
Sep 29 Python
python对json的相关操作实例详解
Jan 04 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
Django框架表单操作实例分析
Nov 04 Python
Python简单实现区域生长方式
Jan 16 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
django实现日志按日期分割
May 21 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
Python extract及contains方法代码实例
Sep 11 #Python
python 利用zmail库发送邮件
Sep 11 #Python
浅析Python 责任链设计模式
Sep 11 #Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 #Python
python实现邮件循环自动发件功能
Sep 11 #Python
Python 实现微信自动回复的方法
Sep 11 #Python
python 如何调用远程接口
Sep 11 #Python
You might like
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP eval函数使用介绍
2013/12/08 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
理解JavaScript原型链
2016/10/25 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
应届毕业生求职信范例分享
2013/12/17 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
手机被没收检讨书
2014/02/22 职场文书
供货协议书
2014/04/22 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
新农村建设典型材料
2014/05/31 职场文书
任命书标准格式
2015/03/02 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python