猿问

一列的 Pandas .mean()

我试图找到数据集中一列中所有值的平均值。我做了 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()


慕神8447489
浏览 502回答 1
1回答

当年话下

可能大熊猫应该拒绝取字符串列的平均值。但它没有,所以你得到的是: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.1428In [157]: s.mean()Out[157]: 2168802028802.1428s.min()并且s.max()会“工作”,但它是词典的最小值和最大值,而不是数字,所以 '111' < '20'。使您的列数字化,无论是整数还是浮点数,无论您喜欢哪个,并记住这.astype不能就地工作,因此您需要delay["If Delayed, for how long?"] = delay["If Delayed, for how long?"].astype(int)如果您希望该列实际更改。
随时随地看视频慕课网APP

相关分类

Python
我要回答