【问题标题】:Is there a way to solve "DataError: No numeric types to aggregate" because of having "nan" values in the column?由于列中有“nan”值,有没有办法解决“DataError:没有要聚合的数字类型”?
【发布时间】:2020-09-20 02:00:54
【问题描述】:

我有一个这样的数据框

import pandas as pd
import numpy as np
df = pd.DataFrame({
    "name": ["john","peter","john","peter","peter"],
    "height": ["6","5","4","nan","8"],
})
df

我想做 GROUPBY name 和 AGG 高度为 mean

df2=df.groupby('name')
df3=df2.agg({'height':'mean'})

但是我得到了这个错误 DataError:没有要聚合的数字类型 我做了一些搜索并应用了这个

df.height = pd.to_numeric(df.height,errors='ignore')

但代码仍然不起作用,我得到同样的错误!

“nan”值是由于我在以前的数据帧上进行的一些连接而创建的。 感谢您的时间和帮助。 我会支持你的答案。

【问题讨论】:

  • errors='coerce'
  • 谢谢你这个工作。如果您将其写为答案,我将接受并投票。

标签: python pandas pandas-groupby


【解决方案1】:

你需要使用 sum() 函数

df2=df.groupby('name').height.sum()

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 2019-06-23
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2017-01-06
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多