《大数据应用基础》课件-3.7Pandas-数据分组聚合_第1页
《大数据应用基础》课件-3.7Pandas-数据分组聚合_第2页
《大数据应用基础》课件-3.7Pandas-数据分组聚合_第3页
《大数据应用基础》课件-3.7Pandas-数据分组聚合_第4页
《大数据应用基础》课件-3.7Pandas-数据分组聚合_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Pandas-数据分组聚合课前回顾merge()函数:连接两个表,横向连接(列连接),可按键进行连接,默认连接方式'inner';concat()函数:可横向合并也可纵向合并,可操作多表,默认连接方式'outer';join()函数:连接两个表,横向连接(列连接),适用于没重复列名的表连接,默认默认连接方式'left';append()函数:连接两个表,纵向连接(行连接),是concat(axis=0)的简略形式。分组聚合在进行数据分析时,经常需要对数据进行分类汇总,比如按门店对销售额进行分类汇总分析。门店月份销售额总店15000001分店14000002分店135000总店25500002分店230000门店月份销售额总店150000总店255000门店月份销售额02分店13500002分店230000门店月份销售额01分店140000按“门店”分组对分组进行聚合汇总计算各门店销售额合计分组聚合分组:是指按照特定条件将数据划分为多个组;聚合:是指对每个分组中的数据执行某些操作(如sum、max、min等),最后将计算结果进行整合。那么,在Pandas中如何实现对数据的分组聚合呢?Pandas分别提供了分组函数groupby()以及聚合函数agg(),在数据分析时,通常将这两个函数联合使用。目录0102数据分组-groupby数据聚合-agg01数据分组-groupby数据分组-groupbygroupby()函数:数据分组,即根据一个或多个DataFrame列名进行分组。groupby()函数语法:DataFrame.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False,observed=False)常用参数说明by分类的依据,DataFrame列名axis默认axis=0:纵向分割,axis=1:横向分割level存在多层索引时,可按特定的索引层级分组as_index默认为True:返回以组标签为索引的对象,as_index=False:不以组标签为索引sort默认为True:按组键排序,设置为False可以提高性能数据分组-groupby要求:使用groupby函数按“年”对data.xlsx中的利润表项目进行分组求和。代码#

引入pandasimportpandasas

pd#读取利润表项目df=pd.read_excel(r'/app/bigdata/basics/data.xlsx',sheet_name

=

1,converters

=

{'年':str,'月':str})#

按年分组df.groupby('年')#

返回内容:<pandas.core.groupby.generic.DataFrameGroupBy

object

at

0x7f4419a5a2d0>注意使用groupby()函数对DataFrame数据进行分组操作后,返回的结果是一个分组的对象(DataFrameGroupBy,即分组的中间数据),而不是一个DataFrame或Series对象,分组后可以选择一个组或进行聚合运算。数据分组-groupby使用groupby函数按“年”对data.xlsx中的利润表项目进行分组,并查看2019年数据。提示get_group()函数:根据组键选择分组对象中的一组。代码#查看分组df.groupby('年').get_group('2019')数据分组-groupby要求:使用groupby函数按“年”对data.xlsx中的利润表项目进行分组求和。示例1代码#引入pandasimportpandasas

pd#读取利润表项目df=pd.read_excel(r'https://keyun-/app/bigdata/basics/data.xlsx',sheet_name

=

1,converters

=

{'年':str,'月':str})#

按年分组求和df.groupby('年').sum()groupby()常用聚合函数函数功能函数功能mean()计算组平均值describe()生成描述性统计sum()计算组值之和first()计算各组第一个值size()计算组大小(行数)last()计算各组最后一个值count()计算各组元素个数nth()取各组第n个值std()计算各组标准差min()计算各组最小值var()计算各组方差max()计算各组最大值sem()均值的标准误差median()计算各组中位数提示以上聚合函数均排除组内缺失值NaN。聚合函数:指减小返回对象尺寸的函数,groupby()常用的聚合函数如下:02数据聚合-agg数据聚合-agggroupby()函数内置的聚合方法有许多,例如,在groupby后直接调用sum等函数,就会对所有数值列进行聚合计算,那么,如果想指定某几列进行不同聚合,该如何实现呢?agg()函数:具有自定义聚合功能,允许在一次计算中,自定义多种聚合方式,例如:对一列使用多种聚合对每列使用相同的多种聚合对选定列使用不同的聚合agg()函数语法:GroupBy.agg(func)func:聚合方式,字符串函数名,列表、字典对一列使用多种聚合要求:使用groupby函数按“年”对data.xlsx中的利润表项目进行分组,并统计各组“营业收入”列的平均值、合计值、最小值、最大值。示例2代码#统计营业收入列的平均值、合计值、最小值、最大值df.groupby('年').agg({'营业收入':['mean','sum','min','max']})提示对一列使用多种聚合方式,以字典形式传入,列名为key,方法列表为value对每列使用相同的多种聚合要求:使用groupby函数按“年”对data.xlsx中的利润表项目进行分组,并统计各组每列的平均值、合计值、最小值、最大值。示例3代码#

统计每列的平均值、合计值、最小值、最大值df.groupby('年').agg(['mean','sum','min','max'])对选定列使用不同的聚合要求:使用groupby函数按“年”对data.xlsx中的利润表项目进行分组,并统计各组“营业收入”的最大值、“营业成本”的最小值、“净利润”的合计值。示例4代码#对选定列进行不同聚合df.groupby('年').agg({'营业收入':'max','营业成本':'min','净利润':'sum'})提示使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论