联合计算平均值/总和的行

时间:2018-04-28 15:51:38

标签: pandas dataframe mean

我有以下数据框:

a=pandas.dataframe(col=["hschool","year","type","grade","stud"],[[0,2010,pu,5,1],[1,2011,pri,3,10],[2,2010,pu,2,3],[1,2010,pri,3,7],[2,2011,pu,2,8],[0,2011,pu,1,8],[1,2010,pri,0,2],[3,2010,pu,6,3]])

我想删除" hschool"专栏和联合与不同的"年"和"键入"价值与平均"等级"以及" stud"的总和。 我尝试过使用以下内容,但我得到了平均成绩和平均学生人数。

a.drop(labels=["hschool"],axis=1,inplace=True)
a = a.groupby(["year","type"])
a=a.mean()

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果你想要不同列的不同功能,你想在groupby上使用.agg()。用最后两行代替:

a = a.groupby(["year","type"]).agg({'grade': 'mean', 'stud': 'sum'})
#              grade  stud
#year type                
#2010 pri   1.500000     9
#     pu    4.333333     7
#2011 pri   3.000000    10
#     pu    1.500000    16