首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

《Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

作者头像
fanjy
发布于 2021-12-20 06:04:47
发布于 2021-12-20 06:04:47
5.1K0
举报
文章被收录于专栏:完美Excel完美Excel

说明:有点忙,这本书最近更新慢了一些,抱歉!这部分仍免费呈现给有兴趣的朋友。附已发表内容链接:

1.为什么为Excel选择Python?

2.为什么为Excel选择Python?(续)

3.Python开发环境之Anaconda

4.Python开发环境之 jupyter jupyter笔记本

5.Python开发环境之Visual Studio Code

6.Python入门之基本数据类型和数据结构

7.Python入门之语句、函数和代码组织

8.NumPy入门

9.使用pandas进行数据分析之核心数据结构——数据框架和系列

10.使用pandas进行数据分析之数据操作

11.使用pandas进行数据分析之组合数据

有兴趣的朋友,也可以到知识星球完美Excel社群查阅完整的内容和其他更丰富资源。

引言:本文为《Python for Excel》中第5章Chapter 5:Data Analysis with pandas的部分内容,主要讲解了pandas如何对数据进行描述性统计,并讲解了将数据聚合到子集的两种方法:groupby方法和pivot_table函数。

描述性统计和数据汇总

理解大型数据集的一种方法是计算整个数据集或有意义子集的描述性统计数据,如总和或均值。本节首先介绍pandas的工作原理,然后介绍将数据聚合到子集的两种方法:groupby方法和pivot_table函数。

描述性统计

描述性统计(descriptivestatistics)允许使用定量度量来汇总数据集。例如,数据点的数量是一个简单的描述性统计,而平均值,如均值、中位数或众数是其他流行的例子。数据框架和系列允许通过sum、mean和count等方法方便地访问描述性统计数据。默认情况下,它们返回沿轴axis=0的系列,这意味着可以获得列的统计信息:

如果需要每行的统计信息,使用axis参数:

默认情况下,缺失值不包括在描述性统计信息(如sum或mean)中,这与Excel处理空单元格的方式一致,因此在包含空单元格的区域内使用Excel的AVERAGE公式将获得与应用于具有相同数字和NaN值(而不是空单元格)的系列的mean方法相同的结果。

在数据框架的所有行中获取统计信息有时不够好,你需要更细粒度的信息,例如,每个类别的均值,这是下面的内容。

分组

再次使用我们的示例数据框架df,让我们找出每个大陆的平均分数。为此,首先按洲对行进行分组,然后应用mean方法,该方法将计算每组的均值,自动排除所有非数字列:

如果包含多个列,则生成的数据框架将具有层次索引,即我们前面遇到的多重索引:

可以使用pandas提供的大多数描述性统计信息,而不是mean,如果想使用自己的函数,使用agg方法。例如,下面是如何获得每组最大值和最小值之间的差值:

df.groupby(["continent"]).agg(lambdax: x.max() - x.min())

在Excel中获取每个组的统计信息的常用方法是使用透视表。它们引入了第二个维度,可以从不同的角度查看数据。pandas还有一个数据透视表功能,将在下面介绍。

透视表和熔解

如果在Excel中使用透视表,应用pandas的pivot_table函数不会有问题,因为它的工作方式基本相同。下面的数据框架中的数据的组织方式与数据库中记录的典型存储方式类似,每行显示特定地区指定水果的销售交易:

要创建数据透视表,将数据框架作为第一个参数提供给pivot_table函数。index和columns分别定义数据框架的哪一列将成为透视表的行和列标签。values将通过使用aggfunc聚合到结果数据框架的数据部分,aggfunc是一个可以作为字符串或NumPyufunc提供的函数。最后,margins与Excel中的总计(GrandTotal)相对应,即如果不使用margins和margins_name方式,则Total列和行将不会显示:

总之,数据透视意味着获取列(在本例中为Region)的唯一值,并将其转换为透视表的列标题,从而聚合来自另一列的值。这使得跨感兴趣的维度读取摘要信息变得容易。在我们的数据透视表中,会立即看到,在北部地区没有苹果销售,而在南部地区,大部分收入来自橙子。如果要反过来将列标题转换为单个列的值,使用melt。从这个意义上说,melt与pivot_table函数相反:

这里,提供了透视表作为输入,但使用iloc来去除所有的汇总行和列。同时重置了索引,以便所有信息都可以作为常规列使用。然后,提供id_vars来指示标识符,并提供value_vars来定义“非透视表(unpivot)”的列。如果希望准备数据,以便将其存储回需要此格式的数据库,则熔解(melting)非常有用。

使用聚合统计数据有助于理解数据,但没有人喜欢阅读一整页数字。为了使信息易于理解,没有什么比创建可视化效果更好的了,这是下一个要介绍的主题。虽然Excel使用术语图表(charts),但pandas通常将其称为绘图(plots)。在本书中会交替使用这些术语。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Pandas进阶|数据透视表与逆透视
数据透视表将每一列数据作为输入,输出将数据不断细分成多个维度累计信息的二维数据表。在实际数据处理过程中,数据透视表使用频率相对较高,今天云朵君就和大家一起学习pandas数据透视表与逆透视的使用方法。
数据STUDIO
2021/09/26
5.3K0
Pandas进阶|数据透视表与逆透视
数据分析之Pandas变形操作总结
pandas 是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
Datawhale
2020/07/02
4.3K0
数据分析之Pandas变形操作总结
Python数据分析库Pandas
Pandas是一个Python数据分析库,它为数据操作提供了高效且易于使用的工具,可以用于处理来自不同来源的结构化数据。Pandas提供了DataFrame和Series两种数据结构,使得数据操作和分析更加方便和灵活。本文将介绍Pandas的一些高级知识点,包括条件选择、聚合和分组、重塑和透视以及时间序列数据处理等方面。
疯狂的KK
2023/03/17
3.4K0
左手用R右手Python系列10——统计描述与列联分析
数据统计描述与列联表分析是数据分析人员需要掌握的基础核心技能,R语言与Python作为优秀的数据分析工具,在数值型数据的描述,类别型变量的交叉分析方面,提供了诸多备选方法。 这里根据我们平时对于数据结构的分类习惯,按照数值型和类别型变量分别给大家盘点一下R与Python中那些简单使用的分析函数。 R语言: 描述性统计:(针对数值型) library("ggplot2") myvars<-names(diamonds)[c(5,6,7)];myvars [1] "depth" "table" "price"
数据小磨坊
2018/04/11
4K0
左手用R右手Python系列10——统计描述与列联分析
利用excel与Pandas完成实现数据透视表
数据透视表是一种分类汇总数据的方法。本文章将会介绍如何用Pandas完成数据透视表的制作和常用操作。
可以叫我才哥
2022/11/11
2.9K0
利用excel与Pandas完成实现数据透视表
Python数据分析作业二:Pandas库的使用
  Pandas(Python Data Analysis Library)是基于是基于 NumPy 的数据分析模块,它提供了大量标准数据模型和高效操作大型数据集所需的工具,可以说 Pandas 是使得 Python 能够成为高效且强大的数据分析环境的重要因素之一。
Francek Chen
2025/01/22
1K0
Python数据分析作业二:Pandas库的使用
软件测试|Pandas数据分析及可视化应用实践
Pandas是一个基于Numpy的数据分析库,它提供了多种数据统计和数据分析功能,使得数据分析人员在Python中进行数据处理变得方便快捷,接下来将使用Pandas对MovieLens 1M数据集进行相关的数据处理操作,运用具体例子更好地认识和学习Pandas在数据分析方面的独特魅力。
霍格沃兹测试开发Muller老师
2023/02/07
1.8K0
在pandas中使用数据透视表
经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。
bugsuse
2020/11/06
3.7K0
在pandas中使用数据透视表
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
鲜于言悠
2024/03/20
3K0
python数据分析——数据分类汇总与统计
Python让Excel飞起来—批量进行数据分析
corr()函数默认计算的是两个变量之间的皮尔逊相关系数。该系数用于描述两个变量间线性相关性的强弱,取值范围为[-1,1]。系数为正值表示存在正相关性,为负值表示存在负相关性,为0表示不存在线性相关性。系数的绝对值越大,说明相关性越强。- 上表中第1行第2列的数值0.982321,表示的就是年销售额与年广告费投入额的皮尔逊相关系数,其余单元格中数值的含义依此类推。需要说明的是,上表中从左上角至右下角的对角线上的数值都为1,这个1其实没有什么实际意义,因为它表示的是变量自身与自身的皮尔逊相关系数,自然是1。- 从上表可以看到,年销售额与年广告费投入额、成本费用之间的皮尔逊相关系数均接近1,而与管理费用之间的皮尔逊相关系数接近0,说明年销售额与年广告费投入额、成本费用之间均存在较强的线性正相关性,而与管理费用之间基本不存在线性相关性。前面通过直接观察法得出的结论是比较准确的。- 第2行代码中的read_excel()是pandas模块中的函数,用于读取工作簿数据。3.5.2节曾简单介绍过这个函数,这里再详细介绍一下它的语法格式和常用参数的含义。- read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None)
润森
2022/09/22
6.9K0
Python让Excel飞起来—批量进行数据分析
Pandas学习笔记05-分组与透视
对数据集进行分类,并在每组数据上进行聚合操作,是非常常见的数据处理,类似excel里的分组统计或数据透视表功能。pandas提供了比较灵活的groupby分组接口,同时我们也可以使用pivot_table进行透视处理。
可以叫我才哥
2021/08/05
1.2K0
python数据分析——数据分类汇总与统计
推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。 https://www.captainbed.cn/f1
鲜于言悠
2025/03/08
3K1
python数据分析——数据分类汇总与统计
【数据处理包Pandas】数据透视表
使用stack方法把列索引变成行索引(默认是把最低级列索引变成最低级行索引),此时行索引有3级。
Francek Chen
2025/01/22
8580
【数据处理包Pandas】数据透视表
再见,Excel数据透视表;你好,pd.pivot_table
Excel作为Office常用办公软件之一,其在一名数据分析师的工作日常中也占有一定地位,比如个人就常常倾向于依赖Excel完成简单的数据处理和可视化作图,其中数据处理部分则主要是运用内置函数+数据透视表两大部分。
luanhz
2020/12/17
2.7K0
再见,Excel数据透视表;你好,pd.pivot_table
【Python常用函数】一文让你彻底掌握Python中的pivot_table函数
只有把一个语言中的常用函数了如指掌了,才能在处理问题的过程中得心应手,快速地找到最优方案。
阿黎逸阳
2023/08/21
11.6K0
【Python常用函数】一文让你彻底掌握Python中的pivot_table函数
干货分享|如何用“Pandas”模块来做数据的统计分析!!
在上一篇讲了几个常用的“Pandas”函数之后,今天小编就为大家介绍一下在数据统计分析当中经常用到的“Pandas”函数方法,希望能对大家有所收获。
用户6888863
2021/07/19
9910
Pandas数据处理与分析教程:从基础到实战
Pandas是一个开源的Python库,提供了高性能、易用和灵活的数据结构,用于数据处理和分析。它建立在NumPy之上,使得处理结构化数据更加简单和高效。Pandas的两个主要数据结构是Series和DataFrame,可以理解为NumPy数组的增强版。它们提供了更多的功能和灵活性,使得数据处理变得更加直观和方便。
全栈若城
2024/02/29
1.6K0
Pandas数据处理与分析教程:从基础到实战
pandas透视表分析
数据透视表是一个用来总结和展示数据的强大工具。pandas提供了pivot_table()函数以快捷地把DataFrame转换为透视表。
陆勤_数据人网
2019/05/28
2.5K0
快速介绍Python数据分析库pandas的基础知识和代码示例
“软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点。”
deephub
2020/07/29
9.5K0
快速介绍Python数据分析库pandas的基础知识和代码示例
左手pandas右手Python,带你学习数据透视表
数据透视表是数据分析工作中经常会用到的一种工具。Excel本身具有强大的透视表功能,Python中pandas也有透视表的实现。本文使用两个工具对同一数据源进行相同的处理,旨在通过对比的方式,帮助读者加深对数据透视表的理解。
Datawhale
2019/08/27
4.1K0
左手pandas右手Python,带你学习数据透视表
相关推荐
Pandas进阶|数据透视表与逆透视
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档