Python でリストの平均を取得する方法

  1. リストの平均を求めるには statiscics ライブラリを使用する
  2. Python リストの平均を sum()/len() を用いて求める
  3. Python 2 で sum()/float(len()) を用いて Python リストの平均を求める

このチュートリアルでは、Python でリストの平均値を求める方法を紹介しています。また、Python の以前のバージョンから方法が変更されたため、概念をより明確にするためにいくつかのコード例を挙げています。

リストの平均を求めるには statiscics ライブラリを使用する

Python 3.4+ をお使いの方は、新しく導入された statistics ライブラリを利用することができます。このライブラリには複数の数学関数が含まれており、簡単に利用することができます。与えられたリストの平均を計算したいので、statistics.mean(list) を使用します。list は数値のリストです。この関数は与えられたリストの平均を返します。

この statistics.mean() メソッドを用いる基本例を以下に示します。

import statistics

list =  [1, 2, 3, 4, 5, 6]
mean = statistics.mean(list)
print(mean)

出力:

3.5

Python リストの平均を sum()/len() を用いて求める

リストの平均を計算するために statistics ライブラリを使用することだけが唯一の選択肢ではありません。リストの平均は、要素の和を要素数で割るだけで求めることができます。

sum(list) は与えられたリストの和を取得し、len(list) はリストの長さを返します。

data = [1, 2, 3, 4, 5, 6]
mean = sum(data)/len(data)
print(mean)

出力:

3.5

numpy.mean() を用いて Python のリストの平均を求める

Python でリストの平均を取得するには、numpy.mean() 関数を利用することもできます。平均はデフォルトでは平坦化された配列を対象とし、そうでなければ指定された軸を対象とします。

ただし、使用する前に NumPy モジュールをインストールする必要があります。

numpy.mean() を用いてリストの平均を取得するコードの例は以下の通りです。

import numpy

data = [1, 2, 3, 4, 5, 6]
mean = numpy.mean(data)
print(mean)

出力:

3.5

Python 2 で sum()/float(len()) を用いて Python リストの平均を求める

Python のバージョンが 2.x の場合、statistics モジュールを使用することができず、与えられたリストの平均を計算するために単純な数式を使わなければなりません。

Python 2 では、lenfloat に変換して float 除算を行う必要があります。コードは次のようになります。

data = [1, 2, 3, 4, 5, 6]
mean = sum(data)/float(len(data))
print(mean)

出力:

3.5

もし len を float に変換しないと、以下のように浮動小数点数ではなく整数値が得られます。

data = [1, 2, 3, 4, 5, 6]
mean = sum(data)/len(data)
print(mean)

出力:

3

関連記事 - Python List

  • Python でリストが空かどうかを確認する
  • Python でリストの最大値と最小値のインデックスを取得する