为了账号安全,请及时绑定邮箱和手机立即绑定

一列的 Pandas .mean()

一列的 Pandas .mean()

慕神8447489 2021-06-05 18:08:26
我试图找到数据集中一列中所有值的平均值。我做了 df["column"].mean() 但它给了我一个大得离谱的数字,考虑到我的值有多小,这是没有意义的。然而, min() 和 max() 函数工作正常。澄清一下,第一个单元格中输出的左侧是索引,右侧是值。delay["If Delayed, for how long?"].astype(int)print(delay["If Delayed, for how long?"].min())print(delay["If Delayed, for how long?"].max())print(delay["If Delayed, for how long?"].mean()
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

可能大熊猫应该拒绝取字符串列的平均值。但它没有,所以你得到的是:


In [154]: s = pd.Series([15,18,16,14,20,16,15]).astype(str)


In [155]: s.sum()

Out[155]: '15181614201615'


In [156]: float(s.sum()) / len(s)

Out[156]: 2168802028802.1428


In [157]: s.mean()

Out[157]: 2168802028802.1428

s.min()并且s.max()会“工作”,但它是词典的最小值和最大值,而不是数字,所以 '111' < '20'。


使您的列数字化,无论是整数还是浮点数,无论您喜欢哪个,并记住这.astype不能就地工作,因此您需要


delay["If Delayed, for how long?"] = delay["If Delayed, for how long?"].astype(int)

如果您希望该列实际更改。


查看完整回答
反对 回复 2021-06-16
  • 1 回答
  • 0 关注
  • 501 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信