我有一个如下的数据框:
>>> df[['data','category']]
Out[47]:
data category
0 4610 2
15 4610 2
22 5307 7
23 5307 7
25 5307 7
... ... ...
数据和类别都是数值型,因此我可以这样做:
>>> df[['data','category']].mean()
Out[48]:
data 5894.677985
category 13.805886
dtype: float64
我正在尝试获取每个类别的平均值。看起来很简单,但当我执行以下操作时:
>>> df[['data','category']].groupby('category').mean()
或者
>>> df.groupby('category')['data'].mean()
它会返回如下错误信息:
DataError: No numeric types to aggregate
如果我用
.count()
替换上述两个函数,就不会出现错误。我做错了什么?获取每个类别的平均值的正确方法是什么?