微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pandas.core.base.DataError:尝试使用 groupby 获取平均值时没有要聚合的数字类型

如何解决pandas.core.base.DataError:尝试使用 groupby 获取平均值时没有要聚合的数字类型

当我尝试根据另一列的值获取列值的平均值时,出现错误:“pandas.core.base.DataError: No numeric types to aggregate”。

这是列的外观:

   pressedKEY  PALABRA   COLOR KEYCORR   RT CORRECT
90           v    ABUSO     red       r  496       N
108          v  FRACASO    blue       a  168       N
138          v   MORGUE   green       v  106       Y
150          v    ENOJO     red       r    0       N
156          v     Odio   green       v   25       Y

我正在尝试获取 CORRECT 列中值“N”和“Y”的平均 RT。

这就是我正在尝试并给我提到的错误

mean_emo = df_emowords.groupby('CORRECT')['RT'].mean()

我该如何解决这个问题?

解决方法

DataError: 没有要聚合的数字类型

当传递给 groupby 对象的列/数据不是数字类型时可以复制。您必须事先将其转换为数字:

df_emowords['RT'] = pd.to_numeric(df_emowords['RT'],errors='coerce)

现在可以正确运行了:

mean_emo = df_emowords.groupby('CORRECT')['RT'].mean()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。