Pythonのリストの平均を求める5つの方法
みなさん、こんにちは!この記事では、Pythonのリストで平均値を求めるためのさまざまな方法を紹介します。
一般的に、平均とはデータの集合全体を代表する値のことを指します。
式: 平均 = 数の総和 / 総数
Pythonのリストの平均を求めるための技術
以下のいずれかのテクニックを使用すれば、Pythonでリストの平均値を計算することができます。
- Python mean() function
- In-built sum() method
- Python lambda and reduce() method
- Python operator.add() method
1. パイソンのmean()関数
Python 3には、組み込みの関数を備えた統計モジュールがあります。statistics.mean()関数は、入力値やデータセットの平均値を計算するために使用されます。
mean()関数は、数値を含むリスト、タプルまたはデータセットをパラメータとして受け取り、データ項目の平均値を返します。
文法:
mean(data-set/input-values)
例えば:
山田さんは日本語が上手です。
=> 山田さんは日本語が巧みです。
Please note that the paraphrase may vary depending on the context or desired emphasis.
from statistics import mean
inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88]
list_avg = mean(inp_lst)
print("Average value of the list:\n")
print(list_avg)
print("Average value of the list with precision upto 3 decimal value:\n")
print(round(list_avg,3))
上記のコードのスニペットでは、statistics.round() メソッドを使用して、平均値を特定の小数値まで丸めました。
構文:
statistics.round(value, precision value)
出力:
Average value of the list:
67.51375
Average value of the list with precision upto 3 decimal value:
67.514
2. Pythonのsum()関数を使用する
Pythonのstatistics.sum()関数は、Pythonのリストのデータ値の平均値を求めるためにも使用することができます。
統計.len()関数は、リストの長さ、つまりリスト中に存在するデータアイテムの数を計算するために使用されます。
構文:
len(input-list)
さらに、statistics.sum()関数はリスト内の全データアイテムの合計を計算するために使用されます。
文法:
sum(input-list)
注意:平均=(総和)/(個数)。
私は日本で美味しい寿司を食べました。
-> 私は日本でおいしい寿司をいただきました。
from statistics import mean
inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88]
sum_lst = sum(inp_lst)
lst_avg = sum_lst/len(inp_lst)
print("Average value of the list:\n")
print(lst_avg)
print("Average value of the list with precision upto 3 decimal value:\n")
print(round(lst_avg,3))
出力:
Average value of the list:
67.51375
Average value of the list with precision upto 3 decimal value:
67.514
3. Pythonのreduce()とlambdaメソッドを使用する。
Pythonのreduce()関数とlambda()関数を使うことができます。
Pythonのreduce()関数:reduce()関数は基本的に、関数に渡される要素のセットに特定の(入力)関数を適用するために使用されます。
文法:
構文:
reduce(function,input-list/sequence)
- Initially, the reduce() function applies the passed function to the first two consecutive elements and returns the result.
- Further, we apply the same function to the result obtained in the previous step and the element succeeding the second element.
- This process continues until it reaches the end of the list.
- Finally, the result is returned to the terminal/screen as output.
Pythonのlambda()関数:lambda()関数は、名前や署名のない無名関数を作成するために使用されます。
文法:
lambda arguments:function
例:私は日本が大好きです。
私は日本が大好きなんです。
from functools import reduce
inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88]
lst_len= len(inp_lst)
lst_avg = reduce(lambda x, y: x + y, inp_lst) /lst_len
print("Average value of the list:\n")
print(lst_avg)
print("Average value of the list with precision upto 3 decimal value:\n")
print(round(lst_avg,3))
出力:
Average value of the list:
67.51375
Average value of the list with precision upto 3 decimal value:
67.514
4. リストの平均値を求めるためのPythonのoperator.add()関数
Pythonのoperatorモジュールには、基本的な計算や操作を効率的に行うためのさまざまな関数が含まれています。
operator.add()関数は、Pythonのreduce()関数の助けを借りて、リストに存在するすべてのデータ値の合計を計算するために使用することができます。
構文:
operator.add(value1, value2)
注意:平均 = (合計)/(要素の数)
例:
「こんにちは、元気ですか?」→「おはよう、調子はどう?」
from functools import reduce
import operator
inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88]
lst_len = len(inp_lst)
lst_avg = reduce(operator.add, inp_lst) /lst_len
print("Average value of the list:\n")
print(lst_avg)
print("Average value of the list with precision upto 3 decimal value:\n")
print(round(lst_avg,3))
出力:
Average value of the list:
67.51375
Average value of the list with precision upto 3 decimal value:
67.514
5. Pythonのリストの平均を求めるためのNumPyのaverage()メソッド
PythonのNumPyモジュールには、データセットやリストに存在するデータアイテムの平均/平均値を計算するための組み込み関数があります。
numpy.average()メソッドは、入力リストの平均を計算するために使用されます。
例えば、私は毎日日本語の勉強をしています。
import numpy
inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88]
lst_avg = numpy.average(inp_lst)
print("Average value of the list:\n")
print(lst_avg)
print("Average value of the list with precision upto 3 decimal value:\n")
print(round(lst_avg,3))
出力:
Average value of the list:
67.51375
Average value of the list with precision upto 3 decimal value:
67.514
結論
この記事では、Pythonリストの平均値を求めるための様々な技術について明らかにし、理解しました。
参考文献
- NumPy average() method – Official Documentation
- The operator module – Official Documentation
- Python NumPy module
- Python List