Pandas数据groupby分组之二

上一篇曾经写过,针对Series和Dataframe的group分组,那是针对现有的列进行处理,本篇文章针对现有数据,分组后生成新列。

一、数据准备
df = pd.read_excel("/untitled/this/ant-learn-pandas/testforpandas/分组统计.xlsx",engine = "openpyxl")
print(df.head())
image.png
二、以班级为维度进行分组,统计每个年级的总分,人数,平均成绩,标准差
result1 = df.groupby(by = ['班级'])['成绩'].agg([
        ('总分', 'sum'),
        ('人数', 'size'),
        ('平均成绩', 'mean'),
        ('标准差', 'std'),
        ()
        ])
print(result1)
image.png
三、通过cut函数,完成分组统计,以"分组"为维度
bins = [min(df.成绩) - 1,70,80,90,max(df.成绩)+1]
labels = ["70一下","71~80","81~90","90以上"]
df["分组"] = pd.cut(df.成绩,bins,labels = labels)
print(df)
image.png
四、以"分组"为维度,统计
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容