Самое быстрое среднее значение точности списка в python3 - PullRequest
0 голосов
/ 16 февраля 2019

Какой самый быстрый способ вычислить среднее значение списка с точностью, которую допускает тип float.Я знаю о numpy.average, но в магистралях несколько цифр отключено по сравнению с тем, сколько цифр допускает тип float.Поэтому я ищу быстрый способ вычислить среднее значение большого списка чисел с плавающей точкой и дать его среднее значение для чисел с плавающей точкой в ​​Python 3.

У меня пока есть эта функция:

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

Есть ли что-нибудь быстрее?

1 Ответ

0 голосов
/ 16 февраля 2019

Если вам не нужен вес для усреднения данных, вы можете использовать numpy.mean с параметром dtype.

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

Если вы поставите np.float64 или np.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
...