【问题标题】:Fastest high precision average of a list in python3python3中列表的最快高精度平均值
【发布时间】:2019-02-16 06:05:01
【问题描述】:

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

到目前为止我有这个功能:

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

有什么更快的吗?

【问题讨论】:

    标签: arrays python-3.x list average


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 2021-12-23
      • 2012-11-25
      • 2018-01-14
      • 2017-12-15
      • 1970-01-01
      相关资源
      最近更新 更多