Python中是否有内置或标准的库方法来计算一组数字的算术平均值(一种平均值)?
当前回答
使用scipy:
import scipy;
a=[1,2,4];
print(scipy.mean(a));
其他回答
使用statistics.mean:
import statistics
print(statistics.mean([1,2,4])) # 2.3333333333333335
它从Python 3.4开始可用。对于3.1-3.3用户,PyPI上的stats名称下提供了该模块的旧版本。只需将统计数据更改为统计数据。
而不是铸造浮动,你可以做以下
def mean(nums):
return sum(nums, 0.0) / len(nums)
或者使用
mean = lambda nums: sum(nums, 0.0) / len(nums)
更新:2019-12-15
Python 3.8在统计模块中添加了函数fmean。它更快,总是返回浮点数。
将数据转换为浮点数并计算算术平均值。 这比mean()函数运行得快,并且它总是返回一个 自由浮动。数据可以是序列或可迭代对象。如果输入数据集为 empty则引发StatisticsError。 Fmean ([3.5, 4.0, 5.25]) 4.25 3.8新版功能。
你甚至不需要numpy或scipy…
>>> a = [1, 2, 3, 4, 5, 6]
>>> print(sum(a) / len(a))
3
NumPy有一个NumPy。这是算术平均数。用法如下:
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean(a)
2.3333333333333335
如果你正在使用python >= 3.8,你可以使用统计模块中引入的fmean函数,它是标准库的一部分:
>>> from statistics import fmean
>>> fmean([0, 1, 2, 3])
1.5
它比统计数据还要快。均值函数,但它事先将其数据点转换为浮点数,因此在某些特定情况下可能不太准确。
你可以在这里看到它的实现
推荐文章
- 如何激活蟒蛇环境
- 省略[…]意思是在一个列表里?
- 为什么我得到“'str'对象没有属性'读取'”当尝试使用' json。载入字符串?
- 不区分大小写的列表排序,没有降低结果?
- 排序后的语法(key=lambda:…)
- 在烧瓶中返回HTTP状态代码201
- 使用python创建一个简单的XML文件
- APT命令行界面式的yes/no输入?
- 如何打印出状态栏和百分比?
- 在Python中获取大文件的MD5哈希值
- 在Python格式字符串中%s是什么意思?
- 如何循环通过所有但最后一项的列表?
- python用什么方法避免默认参数为空列表?
- ValueError: numpy。Ndarray大小改变,可能表示二进制不兼容。期望从C头得到88,从PyObject得到80
- Anaconda /conda -安装特定的软件包版本