我有以下数据框:
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()
有什么建议吗?
答案 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