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中使用Flask、MongoDB搭建简易图片服务器
Feb 04 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
python 执行shell命令并将结果保存的实例
May 11 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
用python做游戏的细节详解
Jun 25 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
如何基于windows实现python定时爬虫
May 01 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 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
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python之消除前缀重命名的方法
2018/10/21 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
新员工入职感言
2014/02/01 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
婚宴父母致辞
2015/07/27 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python