Pandas 数据分组 上|学习笔记

简介: 快速学习 Pandas 数据分组 上

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践Pandas 数据分组 上】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15396


Pandas 数据分组 上

 

下面来学习 pandas 中数据分组聚合与透视。关于第五个内容:pandas 数据可视化,就看给大家提供的资料,以及在线平台上放的数据可视化的视频资料。

pandas 数据分组聚合与透视,第一部分有四小节内容,主要来介绍第一节和第四节。

第一节就是一般的分组GroupBy Mechanics,是数据框系列要对数据进行分组;然后第二节是将数据聚合Data Aggregation,在分组上面再做一些聚合统计,汇总函数,这部分就没时间讲了,可以看提供的资料;

第三部分主要是将 apply:general split-apply-combine 函数用在分组上面,这个也自己了解;第四节内容是讲数据透视表和交叉表,同学们如果用过电子表格就知道把这个透视表是很重要的一个内容。

Data aggregation and group operations

那么下面来看看第一节数据分组,那么开始把整个第六部分的内容介绍一下。就是做数据的汇总、分组操作:

(1)包括把 pandas 对象也就是数据对象(serious或者dataframe),按照关键字段(key)进行分组。

(2)然后在分组上做各种汇总。比如计数,平均值,标准差等等,也可以是用户自定义的函数。

(3)然后应用组内转换和其他一些操作,比如标准化,线性回归,排序,子集选择。

(4)计算透视表和交叉列表。

(5)进行分位数的分析和一些统计组分析。

先看第一节 pandas 的分组机制,分组机制这有编辑语言库的作者。其描述的很经典,分组主要就是做三个阶段的工作:一个将数据进行分割 split,然后分割上面再做应用,应用用一些汇总统计函数。然后再做结合合并,结合合并就是函数作用以后会产生一些结果,这个结果又是一个单独的数据对象,那么这里知道它是要在一些关键字段上进行处理,所以这个关键的分组字段很重要,它可以是单独的一列也可以是多列,也可以是数据里面没有的名字,也可以是索引,所以key 的的形式很多。

习惯上认为 key 就是某一类,某一个属性。但是在实际应用里,key 就是一种类型,它可能有多种类型,后面的实验里面会给大家相关例子。

下面来先加载相关包,然后创建一个四列的数据框,有 key1,key2,data1,data2,这个创建的数据有四列,然后中间都是创建的数据,key1是a,b;key2是 one,two 的值,data1,data2里面是具体的数值。

那么我现在假设想用 key1作为一个 label、关键词、标签来求 data1的平均值,因为 key1要作为 label,它里面有两个值,分别是a和b,那么需要求每个 label 的平均值就要用到分组汇总的方法。

这里可以在 data1上去调用分组,也可以在真题上做分组,有很多方法可以做到刚刚的要求,一种是在 data1列上做操作,当然也可以在整体数据上做操作。先看在 data1这一列上做操作,数据框里面取一列,列的名字放在中括号中,然后用分组的函数 groupby,括号里要指定按照什么关键字进行分组,用的是 key1这一列,在数据框里面取某一列,是数据框的名字加中括号,然后用这个列名加引号引起来,也可以用df【‘key1’】。但是要求规范化、标准化,还是用中括号来取某一列。

这里来进行执行,大家看执行的结果,得到一个 grouped 的分组,这 group 的分组是 pandas 的 groupby 对象,它是一个叫group by的 object,在得到这个分组以后,可以在分组方面做应用,应用一些会统计函数。所以分组、应用、合并这三个过程,还是要强化在脑子里面,下面看看在它上面使用应用函数。

这个分组带来很多汇总函数用平均值,可以在分组对象.后面按 tab键,然后这里面就有很多分组汇总函数,而且基本都是英文单词。

如果想要用的时候可以看帮助,帮助怎么看,操作方法就是在列的名字后面加问号,那比如 mean 的帮助怎么看,在上面可以加单元格,注意加单元格把光标放在这这一行上面,点击字母 a,那么在上面会加一个空的单元格,如果按 b 会在下面加空的单元格。那么 group mean 复制粘贴到上面的空单元格并且在后面加问号,注意问号一定是英文状态下的,然后练习一下,下面就提供了其帮助以及示例,那么这就是说在学 Python 的应用过程当中,没有必要像学英语一样去记住那么多的东西,只要知道逻辑、线索,然后会查帮助,那这是给大家讲的方法。

那么下面再看这是在分组上面求汇总(平均值),当然其 key1还在这里,然后 a 标签就是它的平均值,这就是给大家看的结果。

然后 group key 这个分组的键,按照 key1键对数据series进行了聚合,这也导致其产生了一个新的 series,就此运行的结果看下面的显示,它本身也是一个 series,而且这个 series 的索引就是 key1列中的不同值。

也可以用下面方法,得到的结果中,index 索引也有key1,因为使用了df【‘key1’】作为它groupby上面的 key,那么可以传入多个数组做 list,然后再看下例子。

还是要在 data1的 series 数据框里面选第一列,然后做分组。但是分组传的是一个列表,里面有两个字段 key,然后求其平均值。最后看结果,结果是一个层次索引、分层索引了,有 key1和 key2,然后再是其平均值,前面学过的层次缩影,或者叫多层索引、分层缩影,就很容易理解了。

那么第0级的 key 是 key1,第1级的 key 是 key2,它会产生不同的键。对于这种层次索引,分层索引,可以把它展开,展开以后就是第0级,第0级索引还是保留在它那里,第1级索引变成列上去,最后来看结果。

相关文章
|
2月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
455 0
|
7月前
|
数据采集 安全 数据挖掘
Pandas数据合并:10种高效连接技巧与常见问题
在数据分析中,数据合并是常见且关键的步骤。本文针对合并来自多个来源的数据集时可能遇到的问题,如列丢失、重复记录等,提供系统解决方案。基于对超1000个复杂数据集的分析经验,总结了10种关键技术,涵盖Pandas库中`merge`和`join`函数的使用方法。内容包括基本合并、左连接、右连接、外连接、基于索引连接、多键合并、数据拼接、交叉连接、后缀管理和合并验证等场景。通过实际案例与技术原理解析,帮助用户高效准确地完成数据整合任务,提升数据分析效率。
705 13
Pandas数据合并:10种高效连接技巧与常见问题
|
10月前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
293 31
|
10月前
|
缓存 数据可视化 BI
Pandas高级数据处理:数据仪表板制作
在数据分析中,面对庞大、多维度的数据集(如销售记录、用户行为日志),直接查看原始数据难以快速抓住重点。传统展示方式(如Excel表格)缺乏交互性和动态性,影响决策效率。为此,我们利用Python的Pandas库构建数据仪表板,具备数据聚合筛选、可视化图表生成和性能优化功能,帮助业务人员直观分析不同品类商品销量分布、省份销售额排名及日均订单量变化趋势,提升数据洞察力与决策效率。
239 12
|
10月前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
231 17
|
10月前
|
数据采集 存储 数据可视化
Pandas高级数据处理:数据报告生成
Pandas 是数据分析领域不可或缺的工具,支持多种文件格式的数据读取与写入、数据清洗、筛选与过滤。本文从基础到高级,介绍如何使用 Pandas 进行数据处理,并解决常见问题和报错,如数据类型不一致、时间格式解析错误、内存不足等。最后,通过数据汇总、可视化和报告导出,生成专业的数据报告,帮助你在实际工作中更加高效地处理数据。
300 8
|
10月前
|
数据采集 并行计算 数据可视化
Pandas高级数据处理:数据报告生成实战指南
数据报告生成面临数据质量、计算性能、呈现形式和自动化等核心挑战。常见问题包括缺失值导致统计失真、内存溢出及可视化困难。解决方案涵盖数据清洗、分块处理、安全绘图模板等。通过模块化设计、异常处理机制和性能优化策略,如使用`category`类型、并行计算等,可大幅提升效率。最佳实践建议建立数据质量检查清单、版本控制和自动化测试框架,确保系统具备自适应能力,提升报告生成效率300%以上。
277 12
|
2月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
280 0
|
4月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
407 0
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
338 1