计算groupby的均值给出了“DataError:没有要聚合的数字类型”

时间:2017-07-18 03:07:08

标签: python

我正在尝试使用groupby进行一些聚合

我的代码看起来像这样:

 Top15['est_pop'] = Top15['Energy Supply']/Top15['Energy Supply per Capita'] 
 new = Top15.groupby('Continent')['est_pop'].agg({'size': np.size, 'sum': 
                                 np.sum, 'mean': np.mean, 'std': np.std})

如果我只在我的聚合中有大小和总和,它工作正常,但一旦我添加mean或std,它会给我以下错误:

DataError: No numeric types to aggregate 

我知道“est_pop”是一个浮点数(没有空值或任何奇怪的东西)

type(Top15['est_pop'][(0)])

---> float

知道我做错了什么吗?或者我能做些什么来解决它?

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试:Top15 [' est_pop'] = Top15 [' est_pop']。astype(float)