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

你可能感兴趣的:(Pandas数据groupby分组之二)