我读了许多与“pandas.core.groupby.data错误没有数字类型聚合”错误相关的问题,但是我无法找到我所面临的问题的答案。
即,我可以在我的.groupby
构造上执行某些操作,例如.max()
,.count()
...但.mean()
,.std
等操作会提高上面提到的错误。
我在其他主题中看到它可能与数据类型有关,但我正在处理int64
,我认为这很好。事实上,如果我在没有分组的情况下调用它,我可以在我感兴趣的列上调用.mean()
(参见下面的第二行)。
答案 0 :(得分:0)
问题holding_time
列不是数字,因此首先需要转换:
df['holding_time'] = df['holding_time'].astype(int)
或者:
df['holding_time'] = df['holding_time'].astype(float)
如果解决方案失败,因为混合值 - 带字符串的数字,需要to_numeric
参数errors='coerce'
才能将不可解析的值转换为NaN
s:
df['holding_time'] = pd.to_numeric(df['holding_time'], errors='coerce')