【发布时间】:2017-12-21 09:50:27
【问题描述】:
我的数据集有很多列。这里有两个:
Index Graduated Age
0 College 24
1 HighSch 18
2 College 26
3 College Nan
4 HighSch 20
Age 的平均值很简单:
df.Age.mean()
但是,我还有很多其他列,因此我使用的是 agg():
df.groupby('Graduated').agg({'Age':'mean'})
我得到的错误:
没有要聚合的数字类型 如果我插入一个数字而不是 NaN,它可以工作!
如果列具有 NaN 值,agg() 函数是否不允许我们运行平均值?有没有办法解决这个问题?
【问题讨论】:
-
从外观上看,它不是“数字”
nan,而是一个字符串"Nan"。将其从 numpy 更改为np.nan,它应该可以工作。 -
请参阅stackoverflow.com/questions/25039328/… 以获取您的特定问题的答案,不包括@ayhan 提到的
"Nan"问题