275

数値のリストの算術平均(平均の1つのタイプ)を計算するためのPythonの組み込みまたは標準ライブラリメソッドはありますか?

4

13 に答える 13

288

標準ライブラリには何もありません。ただし、次のようなものを使用できます。

def mean(numbers):
    return float(sum(numbers)) / max(len(numbers), 1)

>>> mean([1,2,3,4])
2.5
>>> mean([])
0.0

numpyには、がありnumpy.mean()ます。

于 2011-10-10T17:22:04.313 に答える
195

NumPy にnumpy.meanは、算術平均である a があります。使い方は次のように簡単です。

>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean(a)
2.3333333333333335
于 2012-12-13T22:12:28.263 に答える
8

scipyを使用する:

import scipy;
a=[1,2,4];
print(scipy.mean(a));
于 2012-11-19T19:11:12.197 に答える
1
def list_mean(nums):
    sumof = 0
    num_of = len(nums)
    mean = 0
    for i in nums:
        sumof += i
    mean = sumof / num_of
    return float(mean)
于 2016-08-18T15:09:21.387 に答える
0

次のように単純であるため、常にavg組み込み/標準ライブラリから省略されていると想定していました

sum(L)/len(L) # L is some list

警告は、ローカルで使用するための呼び出し元コードで既に対処されています。

重要な注意事項:

  1. 浮動小数点以外の結果: python2 では、9/4 は 2 です。解決、使用float(sum(L))/len(L)、またはfrom __future__ import division

  2. ゼロ除算: リストは空である可能性があります。解決する:

    if not L:
        raise WhateverYouWantError("foo")
    avg = float(sum(L))/len(L)
    
于 2015-11-02T11:03:25.997 に答える