一文让你吃透!图解 pandas 透视表、交叉表!

一文了解python 透视图(pandas.pivot_table) 文章目录pivot_table的参数理解pivot 与 groupby其它查看可视化保存 先上图:pandas piviot_table cheet sheet or: 先初略的了解透视图是用来干什么的,一句话:pivot_table 最大的意义便是将数据分组表示并进行聚合运算(结合上面的图来看)。如果你了解pandas的 groupby ,那你会发现他们基本是相通的。 下面是正片: pivot_table的参数理解 Signature: pd.pivot_table( data, val 阅读详情

一、图解Pandas透视表、交叉表

终于开始Pandas进阶内容的写作了。相信很多人都应该知道透视表,在Excel会经常去制作它,来实现数据的分组汇总统计。在Pandas中,我们把它称之为pivot_table。

透视表的制作灵活性高,可以随意定制我们想要的的计算统计要求,一般在制作报表神器的时候常用。

下面通过具体的例子来对比Excel和Pandas中透视表的实现方法。

二、Excel透视表

下面是在Excel表格中使用消费数据制作的透视表(部分数据截图),我们统计的是不同性别不同日期下的消费金额和小费,同时还显示了总计的数据。

那如果是使用pandas该如何来实现呢???

三、透视表参数

pandas中实现透视表使用的是:pandas.pivot_table

pd.pivot_table(data,  # 制作透视表的数据
               values=None,  # 值
               index=None,  # 行索引
               columns=None,  # 列属性
               aggfunc='mean',   # 使用的函数,默认是均值
               fill_value=None,  # 缺失值填充
               margins=False, # 是否显示总计
               dropna=True,   # 缺失值处理
               margins_name='All', # 总计显示为All
               observed=False,  
               sort=True  # 排序功能  版本1.3.0才有
              )

最重要的参数还是:values、index、columns、aggfunce,甚至包含margins、margins_name

附上官网学习地址:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html

四、透视表参数详解

4.1参数index

index表示的是我们生成透视表指定的行索引

1、单层索引

2、多层行索引

4.2参数values

在上面index参数的使用中,我们没有指定values参数,pandas会默认将全部的数值型数据进行透视表的计算,现在指定参数计算的数据:

  • 带上values,只会显示我们指定的数据

  • 不带上values,数值型的数据汇总结果全部显示

4.3参数columns

columns是一个显示列属性信息的参数

如果我们将day放在index参数中,会是什么样子呢?

相当于是:将上面的宽表格式转成了下面的长表格式

再对比下两种不同的形式:

4.4参数aggfunc

aggfunc是一个很灵活的参数,它是用来指定我们汇总想用哪种函数,默认是均值mean,我们也可以使用求和sum、最值max等。多个函数需要放在一个列表中。

我们将默认求平均mean的情况与求和的情况进行对比:

均值和sum求和之间的关系:

我们可以在aggfunc函数中指定多个函数,将这些函数放在同一个列表中:

  • 求和:np.sum

  • 求均值:mean

  • 求个数:size

再看一个例子:

4.5参数margins、margins_name

这两个参数的作用是对透视表中的分组数据进行汇总显示。需要注意的是:只有margins=True,参数margins_name的设置才会生效。

修改汇总显示的名字:

如果有列字段,也会显示汇总的数据:

五、交叉表crosstab

交叉表可以理解成一种特殊的透视表,专门用于计算分组的频率。

5.1参数

交叉表中每个参数的解释,很多还是和透视表相同的:

pandas.crosstab(index, # 行索引,必须是数组结构数据,或者Series,或者是二者的列表形式
                columns, # 列字段;数据要求同上
                values=None,  # 待透视的数据
                rownames=None,  # 行列名字
                colnames=None,  
                aggfunc=None,  # 透视的函数
                margins=False,  # 汇总及名称设置
                margins_name='All', 
                dropna=True, # 舍弃缺失值
                normalize=False  # 数据归一化;可以是布尔值、all、index、columns、或者{0,1}
               )

对最后一个参数的解释:如何选择归一化的标准

  • If passed ‘all’ or True, will normalize over all values:使用all,对全部的数值型数据归一化

  • If passed ‘index’ will normalize over each row:使用index,仅在行上归一化

  • If passed ‘columns’ will normalize over each column:使用columns,仅在列上归一化

  • If margins is True, will also normalize margin values:如果margins=True,总计值也会参与归一化

5.2参数使用

当然,有时候透视表和交叉表是可以实现相同的功能:

六、groupby实现

其实透视表或者交叉表的本质还是分组汇总统计结果,我们也可以利用groupby来实现:

1、先分组统计

2、轴旋转unstack

上面的结果格式上不是很友好,使用的是多层次索引,我们使用轴旋转函数unstack将行转成列:

七、groupby和透视表比较

最后再用一个例子来比较下groupby和透视表:

八、备忘录

这个网上非常流行的一张图解Pandas透视表函数的图形,它利用一份简单的数据,清晰明了地讲解了pivot_table函数的每个参数的含义,保存备用!

网络图


以上就是本文的全部内容,欢迎在评论区与我进行讨论~



推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,领AI全套资料
【python数据分析基础】—pandas透视表和交叉表 透视表是excel和其他数据分析软件中一种常见的数据汇总工具。它是根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中。 阅读详情

相关推荐

Pandas-数据透视表

数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。在使用Excel做数据分析时,透视表是很常用的功能,Pandas也提供了透视表功能,对应的API为pivot_table。

weixin_45862390的博客 2340

Pandas 可视化图表之pivot_table透视图

Pandas 可视化图表之pivot_table透视图 前言 续前几篇文章,应朋友帮忙,拿C#写了个简单操作Excel数据的小工具,了解过Python基础语法之后,拿Python重新实现了一遍,主要用到了几个库,比如Pandas,PyQt5,logging,coloredlogs等。回溯C#代码逻辑与Python代码逻辑,发现Python操作起来简单很多很多,尤其有了利器Pandas之后,代码变得...

andyqingliu的博客 3329

PDF格式分析(十二)Cross-Reference Table 交叉引用表

PDF交叉参考表是PDF文件的重要部分。该表保存了所有简介对象在PDF文件中物理偏移地址。该表在文件中可以存在单个,也可以存在多个。多个交叉引用表通常是在一下两个情况下出现:一、增量保存,二、线性化。 通常,PDF交叉引用表将具有以下形式: 交叉引用表以单词“xref”开头。图中,“0 4”表示对象号为0开始的连续4个对象,对象号为0和3的简介对象不存在,对象号为1和2的对象使用中。对象号...

steve_cui的博客 6886

11.Pandas数据透视表

文章目录Pandas数据透视表准备工作什么是数据透视表手工制作一张数据透视表数据透视表语法多维数据透视表数据透视表的其他选项value参数aggfunc参数margin参数margins_name参数泰坦尼克号生还率分析整体情况男女船舱登记生还率排除异常美国人生日分析整体情况每年的人口出生情况创建日期索引不同年代的星期日均出生数各年份平均每天的出生数 Pandas数据透视表 前面我们讲解了Pandas的GroupBy对象,并且结合行星的例子讲解了Groupby是如何探索数据集内部的关联性了 数据透视表(pi

鸿神的博客 1243

PDF格式分析(四)文档结构概要

本章将对PDF文档结构进行一个简单的描述,好让大家有个简单的认识。 标准的PDF文档一般包括四个部分: 文件头:用来存储PDF版本 文件体:用来存储间接对象,这是构成PDF比重最大的内容 交叉索引表:用来保存各个间接对象在文件中的起始地址 trailer:用来存储交叉索引表的起始位置,根对象(Root),加密对象(Encrypt),文档信息对象(Info)等 PDF是一个大的对象集...

steve_cui的博客 6384

扣子(coze)实战 | 一键生成爆款书单视频

摘要:本文介绍了一个基于DeepSeek和Coze平台实现短视频高效生成的工作流方案。该方案耗时仅1-2分钟即可完成"假如书籍会说话"类短视频制作,包含书籍内容深度解读、对话台词生成、自动配音、素材合成等环节,支持通过剪映进行二次编辑。作者分享了完整开发思路和8个工作模块,并开放了包含该工具在内的100+智能体共享空间,提供会员专属服务。该方案为非真人出镜短视频的批量化生产提供了可行方案。

yueyehuguang的博客 2396

肝!100% 纯原创 Python 数据分析资料

公众号:尤而小屋作者:Peter编辑:Peter大家,我是Peter~关注尤而小屋的朋友都知道,Peter一直都在写关于数据分析的文章。谁是Peter呀?生日快乐:尤而小屋两周岁啦有读者朋...

weixin_38753422的博客 359

基于灰度信息的图像配准方法

图像配准方法分为三种:基于灰度信息方法、基于变换域方法和基于特征方法。基于灰度信息方法是直接根据图像或图像块灰度信息进行像素上的对齐,该方法主要思想是直接最小化图像信息差异。然而,图像信息差异的判断准则衍生出不同的配准方法。常见的基于灰度信息的图像配准方法包括互相关法、互信息法和误差平方和法。本节将分别对互相关法、互信息法和误差平方和算法展开介绍,并通过MATLAB进行演示。基于灰度的图像方法容易实现,但同样存在不足。该方法对成像条件(光照,遮挡)、图像形变旋转以及噪声极其敏感,同时具有较高的计算复杂度。

weixin_42068054的博客 3778

Pandas数据透视表--pivot_table

pandas有两个pivot_table函数,pandas.pivot_table和pandas.DataFrame.pivot_table,pandas.pivot_table 比 pandas.DataFrame.pivot_table 多了一个参数data,data就是一个dataframe,实际上这两个函数相同。pivot_table参数中最重要的四个参数 values,index,columns,aggfunc,下面通过案例介绍pivot_tabe的使用。

weixin_48408800的博客 5449

Matlab实战:手把手教你用Zernike多项式模拟光学像差(附完整代码)

本文详细介绍了如何在Matlab中使用Zernike多项式模拟光学像差,包括基础理论、不同排序系统的实现、完整代码示例以及高级应用技巧。通过Zernike多项式,可以有效地描述和分析光学系统中的波前畸变,适用于望远镜校正、眼科光学等多个领域。

weixin_42523720的博客 162

万达电影 com.wandafilm.app headers check

万达电影 安卓逆向 抓包 逆向 check

weixin_43786514的博客 1439

pandas透视表、排序、结果查询一次搞清

一文搞清常用透视表的常规操作

Darin2017的博客 2846

电商平台大数据分析指标

一、五大关键数据分析指标 1.1活跃用户量 活跃用户量是一个基本的指标,有 DAU(日活跃用户)、WAU(周活跃用户)和 MAU(月活跃用户)三个层次; 1.2转化 转化是一个非常重要的指标,电商运营需要关注主路径、次路径甚至精细到每一个品类 / SKU 的转化率; 1.3留存 留存要从不同的时间周期上研究,包括次日留存率、3 日、7 日、30 日留存; 1.4复购 复购则要从 3 个角度去看,复购用户量、复购率和复购金额比; 1.5GMV GMV 是最重要的指标,我们的运营最终是围绕这

默主归沙的博客 4821

【Python】开启Pandas进阶:图解Pandas透视表、交叉表

aggfunc是一个很灵活的参数,它是用来指定我们汇总想用哪种函数,默认是均值mean,我们也可以使用求和sum、最值max等。这个网上非常流行的一张图解Pandas透视表函数的图形,它利用一份简单的数据,清晰明了地讲解了pivot_table函数的每个参数的含义,保存备用!下面是在Excel表格中使用消费数据制作的透视表(部分数据截图),我们统计的是不同性别不同日期下的消费金额和小费,同时还显示了总计的数据。透视表的制作灵活性高,可以随意定制我们想要的的计算统计要求,一般在制作报表神器的时候常用。

Bingo 1172

中国主要湖泊水库面状矢量边界图层ArcGIS应用实战:从数据获取到专题图制作

本文详细介绍了中国主要湖泊水库面状矢量边界图层在ArcGIS中的实战应用,从数据获取到专题图制作的全流程。涵盖官方数据源、科研机构共享数据及商业平台的选择,以及ArcGIS中的数据处理、拓扑错误修正和专题图设计技巧,帮助用户高效完成湖泊水库的空间分析与可视化。

weixin_33672400的博客 256

1.1 了解Spring框架 -《SSM深入解析与项目实战》

文章目录第1篇 基础概念第1章 谈谈SSM框架和Redis1.1 了解Spring框架1.1.1 如何学习Spring1.1.2 IoC(Inversion of Control 控制反转)1.1.3 AOP(Aspect Oriented Programing面向切面编程) 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 本章非常形象的介绍了Springn中最核心的两个概念,IoC和AOP,使用了现实中的例子

谙忆-陈浩翔 2137

图解Pandas透视表pivot_table

图解Pandas透视表pivot_table 大家好,我是Peter呀~ 终于开始Pandas进阶内容的写作了。相信很多人都应该知道透视表,在Excel会经常去制作它,来实现数据的分组汇总统计。在Pandas中,我们把它称之为pivot_table。 透视表的制作灵活性高,可以随意定制我们想要的的计算统计要求,一般在制作报表神器的时候常用。 下面通过具体的例子来对比Excel和Pandas中透视表的实现方法。 Excel透视表 下面是在Excel表格中使用消费数据制作的透视表(部分数据截图),我们统计的

尤尔小屋 2372

RK3588适配Ubuntu系统

RKsdk上支持buildroot以及Debian系统,但是Ubuntu需要自己移植,有很多公司都移植好了可以直接用,这里就总结记录一下我制作Ubuntu的过程。

m0_60805802的博客 5365

Python | Pandas | 透视表pivot table

本文主要介绍使用pandas的pivot table以生成透视表

MissMango0820的博客 1390

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

利用excel与Pandas完成实现数据透视表

数据透视表是一种分类汇总数据的方法。本文章将会介绍如何用Pandas完成数据透视表的制作和常用操作。

m0_59162248的博客 1497

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Pandas统计分析基础(7):画图美观性及基于数据透视表的数据分析

Pandas统计分析基础(7):画图美观性及基于数据透视表的数据分析

Xlong的博客 3213

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

5分钟了解Pandas的透视表

Pandas 库是用于数据分析的流行 Python 包。 Pandas 中处理数据集时,结构将是二维的,由行和列组成,也称为dataframe。 然而,数据分析的一个重要部分是对这些数据进行分组、汇总、聚合和计算统计的过程。 Pandas 数据透视表提供了一个强大的工具来使用 python 执行这些分析技术。 如果你是excel用户,那么可能已经熟悉数据透视表的概念。 Pandas 数据透视表的工作方式与 Excel 等电子表格工具中的数据透视表非常相似。 数据透视表函数接受一个df,一些参数详细说明了您希

deephub 3759

python入门——Pandas透视表(pivot_table)

透视表是一种可以对数据动态排布并且分类汇总的表格格式。pivot_table是pandas中数据透视表的函数。本文简单实践一下pivot_table()函数的使用。

weixin_49249463的博客 2万+

mysql 交叉索引_mysql-索引

一、索引是什么?索引是帮助MySQL高效获取数据的数据结构。二、索引能干什么?索引非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引能够轻易将查询性能提高好几个数量级,总的来说就是可以明显的提高查询效率。三、索引的分类?1、从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。这里所描述的是索引存...

weixin_35036750的博客 1339

pandas交叉表与透视表pd.crosstab()和pd.pivot_table()函数详解

pandas中交叉表与透视表,什么是交叉表,什么是透视表pandas.crosstab(index,columns,values=None,rownames=None,colnames=None,aggfunc=None)DataFrame.pivot_table(values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True)

我的个人博客 8007

pandas——透视图和交叉表

透视图函数df.pivot_table() 格式: pivot_table(data, values=None, index=None, columns=None, aggfunc=‘mean’, fill_value=None, margins=False, dropna=True, margins_name=‘All’, observed=False) 主要参数: index:行分组键 col...

weixin_43794311的博客 585
上一篇: 简易版“美颜”来了!肝了一夜!用Python做一个高瘦脸神器!
下一篇: Linux 发行版新秀!风格对比苹果
菜鸟学Python
博客等级 码龄9年 8089粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值