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级索引变成列上去,最后来看结果。

相关文章
|
1月前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
153 100
Pandas高级数据处理:数据流式计算
|
21天前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
68 31
|
8天前
|
缓存 数据可视化 BI
Pandas高级数据处理:数据仪表板制作
在数据分析中,面对庞大、多维度的数据集(如销售记录、用户行为日志),直接查看原始数据难以快速抓住重点。传统展示方式(如Excel表格)缺乏交互性和动态性,影响决策效率。为此,我们利用Python的Pandas库构建数据仪表板,具备数据聚合筛选、可视化图表生成和性能优化功能,帮助业务人员直观分析不同品类商品销量分布、省份销售额排名及日均订单量变化趋势,提升数据洞察力与决策效率。
31 12
|
16天前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
52 17
|
9天前
|
数据采集 存储 数据可视化
Pandas高级数据处理:数据报告生成
Pandas 是数据分析领域不可或缺的工具,支持多种文件格式的数据读取与写入、数据清洗、筛选与过滤。本文从基础到高级,介绍如何使用 Pandas 进行数据处理,并解决常见问题和报错,如数据类型不一致、时间格式解析错误、内存不足等。最后,通过数据汇总、可视化和报告导出,生成专业的数据报告,帮助你在实际工作中更加高效地处理数据。
22 8
|
22天前
|
数据采集 并行计算 数据可视化
Pandas高级数据处理:数据报告生成实战指南
数据报告生成面临数据质量、计算性能、呈现形式和自动化等核心挑战。常见问题包括缺失值导致统计失真、内存溢出及可视化困难。解决方案涵盖数据清洗、分块处理、安全绘图模板等。通过模块化设计、异常处理机制和性能优化策略,如使用`category`类型、并行计算等,可大幅提升效率。最佳实践建议建立数据质量检查清单、版本控制和自动化测试框架,确保系统具备自适应能力,提升报告生成效率300%以上。
53 12
|
2月前
|
机器学习/深度学习 搜索推荐 数据挖掘
Pandas数据应用:广告效果评估
在数字化营销中,广告效果评估至关重要。Pandas作为Python的强大数据分析库,在处理广告数据时表现出色。本文介绍如何使用Pandas进行广告效果评估,涵盖数据读取、预览、缺失值处理、数据类型转换及常见报错解决方法,并通过代码案例详细解释。掌握这些技能,可为深入分析广告效果打下坚实基础。
51 17
|
4月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
127 0
|
6月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
155 1
|
4月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
90 2