python3中列表的最快高精度平均值

时间:2019-02-16 06:05:02

标签: arrays python-3.x list average

float类型允许的精度计算列表平均值的最快方法是什么。我知道numpy.average,但是与float类型允许的位数相比,这减少了几位数。因此,我正在寻找一种快速的方法来计算大量浮点数的平均值,并给出Python 3中浮点数的平均值。

到目前为止,我具有此功能:

def average(inp_array):
    return (sum(inp_array) / float(len(inp_array)))

有更快的东西吗?

1 个答案:

答案 0 :(得分:1)

如果不需要权重来平均数据,则可以将numpy.meandtype参数一起使用。

>>> np.mean(np.random.random_sample(100), dtype=np.float128)
0.49566869596595826807

如果放置np.float64np.float32,则精度会降低:

>>> np.mean(np.random.random_sample(100), dtype=np.float64)
0.4827266837646129
>>> np.mean(np.random.random_sample(100), dtype=np.float32)
0.5099036