pandas
分组
groupby
看过来
《pandas 教程》 持续更新中,可作为 pandas 入门进阶课程、pandas 中文手册、用法大全,配有案例讲解和速查手册。提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。查看更新日志。作者开办 Python 数据分析培训,详情 Python 数据分析培训。
![]() |
本教程作者所著新书《Python之光:Python编程入门与实战》(ISBN:9787111729891)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
![]() |
本教程作者所著新书《深入浅出Pandas:利用Python进行数据处理与分析》(ISBN:9787111685456)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
df.groupby()
方法可以按指定字段对 DataFrame 进行分组,生成一个分组器对象,然后再把这个对象的各个字段按一定的聚合方法输出。
df.groupby(self, by=None, axis=0, level=None,
as_index: bool=True, sort: bool=True,
group_keys: bool=True,
squeeze: bool=False,
observed: bool=False, dropna=True)
其中 by 为分组字段,由于是第一个参数可以省略,可以按列表给多个。会返回一个groupby_generic.DataFrameGroupBy
对象,如果不给定聚合方法,不会返回 DataFrame。
我们可以实现类似 SQL groupby 那样的数据透视功能:
df.groupby('team').sum() # 按团队分组对应列相加
df.groupby('team').mean() # 按团队分组对应列求平均
# 不同列不同的计算方法
df.groupby('team').agg({'Q1': sum, # 总和
'Q2': 'count', # 总数
'Q3':'mean', # 平均
'Q4': max}) # 最大值
注:
dropna=Flase
以上是我们经常使用的方法。
对多层索引数据进行分组,可以查看多层索引数据分组内容。
grouped = df.groupby('team')
groupby 对数据分组后,会生成一个分组对象(上例中的 grouped ),分组对象非常强大,我们可以在分组对象上对数据做各种计算处理,后边我们将介绍它的操作。
无「盖若」授权,请勿以任何形式转载,公众号:gairuo
Copyright © 2019 - 2023
Gairuo.com All Rights Reserved v7.6.1.0919
京公网安备11010502033395号
京ICP备15019454号-4