找到python列表的平均值

发布于 2025-01-23 11:41:36 字数 478 浏览 0 评论 0原文

我正在尝试找到python列表的平均值。当我打印列表时,如下所示:

[array([0.33345667, 0.33523274, 0.33222637, 0.3341597 , 0.33329942,
       0.3330034 , 0.33197044, 0.33394078, 0.33458831, 0.33147091])]

预期结果,没有零值。

当我尝试statistics.mean(efceracy_list)(这是我过去所做的事情以获得均值)时,我会收到此错误

TypeError: can't convert type 'ndarray' to numerator/denominator

吗?

I am trying to find the mean of a Python list. When I print my list it is as follows:

[array([0.33345667, 0.33523274, 0.33222637, 0.3341597 , 0.33329942,
       0.3330034 , 0.33197044, 0.33394078, 0.33458831, 0.33147091])]

That outcome is expected, there are no null values.

When I try statistics.mean(accuracy_list) (which is what I have done in the past to get the mean) I get this error

TypeError: can't convert type 'ndarray' to numerator/denominator

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

七禾 2025-01-30 11:41:36

statistics.mean()在香草python列表上工作。它确实可以在上使用numpy.ndarray s。您应该使用 numpy.mean.mean() < /a>而不是。

另外,它看起来像efceracy_list是包含单元素numpy list的列表。如果是这样,您可以使用列表解开包装:

import numpy as np
[accuracy_list] = [np.array([0.33345667, 0.33523274, 0.33222637, 0.3341597 , 0.33329942,
       0.3330034 , 0.33197044, 0.33394078, 0.33458831, 0.33147091])]

np.mean(accuracy_list)

这两个输出:

0.333334874

statistics.mean() works on vanilla Python lists. It does not work on numpy.ndarrays. You should use numpy.mean() instead.

Also, it looks like accuracy_list is a list containing a one-element numpy list. If that is the case, you can use list unpacking:

import numpy as np
[accuracy_list] = [np.array([0.33345667, 0.33523274, 0.33222637, 0.3341597 , 0.33329942,
       0.3330034 , 0.33197044, 0.33394078, 0.33458831, 0.33147091])]

np.mean(accuracy_list)

Both of these output:

0.333334874
草莓酥 2025-01-30 11:41:36

尝试以下操作:

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]

import statistics
statistics.mean(l)

或者

在python的较旧版本上,您可以执行:

sum(l) / len(l)

在Python 2上,您需要将len转换为float以获取float discrive:

sum(l) / float(len(l))

Try this:

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]

import statistics
statistics.mean(l)

OR

On older versions of Python you can do:

sum(l) / len(l)

On Python 2, you need to convert len to a float to get float division:

sum(l) / float(len(l))
土豪 2025-01-30 11:41:36

我不确定为什么列表中有一个numpy数组,因此您可以提取并计算均值:

accuracy_list[0].mean()

I'm not sure why there's a NumPy array in the list, so you could just extract it and compute the mean:

accuracy_list[0].mean()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文