我在pandas中有以下数据框,其中每行都有一个唯一索引(employee
),还有一个组标签type
:
df = pandas.DataFrame({"employee": ["a", "b", "c", "d"], "type": ["X", "Y", "Y", "Y"], "value": [10,20,30,40]})
df = df.set_index("employee")
我希望按type
对员工进行分组,然后计算每种类型的统计信息。如何执行此操作并获取type x statistic
的最终数据框,例如type x (mean of types)
?我尝试使用groupby
:
g = df.groupby(lambda x: df.ix[x]["type"])
result = g.mean()
这是低效的,因为它引用了每行ix
的索引df
- 有更好的方法吗?
答案 0 :(得分:4)
像@sza所说,你可以使用:
In [11]: g = df.groupby("type")
In [12]: g.mean()
Out[12]:
value
type
X 10
Y 30
请参阅groupby docs了解更多信息......