import math def add_label(data,k): label = [math.ceil(i/k) for i in range(1,len(df)+1)] return label df = df.sort_values(by=['age'],ascending=False) df['group'] = add_label(df,k=10) #df['group'] = df['group'].apply(str)#不需要改成字符,也能groupby #看一下每组是不是10个 print(df.head(1)) t = pd.DataFrame(df.groupby(['group']).age.sum())#group是index,直接产生字段age t['avg'] = pd.DataFrame(df.groupby(['group']).age.mean())#生成新的字段 t = t.rename(columns={'age': 'age_sum'})#改个字段名 print(t.columns) print(t)