python 用pandas实现数据透视表功能


Posted in Python onDecember 21, 2020

透视表是一种可以对数据动态排布并且分类汇总的表格格式。对于熟练使用 excel 的伙伴来说,一定很是亲切!

pd.pivot_table() 语法:

pivot_table(data,  # DataFrame
      values=None,  # 值
      index=None,  # 分类汇总依据
      columns=None,  # 列
      aggfunc='mean',  # 聚合函数
      fill_value=None,  # 对缺失值的填充
      margins=False,  # 是否启用总计行/列
      dropna=True,  # 删除缺失
      margins_name='All'  # 总计行/列的名称
      )

1、销量数据的透视

python 用pandas实现数据透视表功能

1.1 读入数据

import os
import numpy as np
import pandas as pd

file_name = os.path.join(path, 'Excel_test.xls')
df = pd.read_excel(io=file_name,  # 工作簿路径
          sheetname='透视表',  # 工作表名称
          skiprows=1,  # 要忽略的行数
          parse_cols='A:D'  # 读入的列
         )
df

python 用pandas实现数据透视表功能

1.2 数据透视

# 透视数据
df_p = df.pivot_table(index='客户名称',  # 透视的行,分组依据
           values='销量',  # 值
           aggfunc='sum'  # 聚合函数
           )
# 对透视表进行降序排列
df_p = df_p.sort_values(by='销量',  # 排序依据
            ascending=False  # 是否升序排列
            )
# 设置数值格式
df_p = df_p.round({'销量': 0}).astype('int')

# 添加列
ks = df_p['销量']//100
df_p['重要程度'] = ['★'*k for k in ks]
df_p

python 用pandas实现数据透视表功能

1.3 重新设置图示表的索引

df_p['客户名称'] = df_p.index
df_p.set_index(keys=['重要程度', '客户名称'])

python 用pandas实现数据透视表功能

注:以上操作从理论和实践方面看都没什么问题,但模仿 excel 的痕迹浓重了些,更 python 的操作是用 groupby-applay 的方法。

2 用 分组聚合 实现数据透视

grouped = df.groupby(by='客户名称')
grouped['销量'].agg('sum')

python 用pandas实现数据透视表功能

2.1 实现目标格式的透视表

# 分类汇总
df_p = df.groupby(by='客户名称'  # 分类
         ).agg('sum'  # 汇总
           ).sort_values(by='销量', ascending=False  # 排序
                  ).round({'销量': 0}  # 设置精度
                     ).astype('int')  # 数据类型转换

# 添加列
ks = df_p['销量']//100
df_p['重要程度'] = ['★'*k for k in ks]
df_p['客户名称'] = df_p.index
# 层次索引
df_p.set_index(keys=['重要程度', '客户名称'])

python 用pandas实现数据透视表功能

软件信息:

python 用pandas实现数据透视表功能

以上就是python 用pandas实现数据透视表功能的详细内容,更多关于python pandas实现数据透视表的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
Python探索之Metaclass初步了解
Oct 28 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
python删除文本中行数标签的方法
May 31 Python
如何使用Python 打印各种三角形
Jun 28 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
Python错误的处理方法
Jun 23 Python
python基础之函数的定义和调用
Oct 24 Python
python 生成正态分布数据,并绘图和解析
Dec 21 #Python
python statsmodel的使用
Dec 21 #Python
Python 实现集合Set的示例
Dec 21 #Python
Python 实现二叉查找树的示例代码
Dec 21 #Python
如何利用Python matplotlib绘制雷达图
Dec 21 #Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 #Python
python opencv肤色检测的实现示例
Dec 21 #Python
You might like
php解析json数据实例
2014/08/19 PHP
php生成动态验证码gif图片
2015/10/19 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
python爬虫超时的处理的实例
2018/12/19 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
简历里的自我评价
2014/01/31 职场文书
三八节标语
2014/06/27 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS