Python で幾何平均を計算する方法 (例付き)


Python で幾何平均を計算するには 2 つの方法があります。

方法 1: SciPy を使用して幾何平均を計算する

 from scipy. stats import gmean

#calculate geometric mean
gmean([value1, value2, value3, ...])

方法 2: NumPy を使用して幾何平均を計算する

 import numpy as np

#define custom function
def g_mean(x):
    a = np. log (x)
    return np. exp ( a.mean ())

#calculate geometric mean
g_mean([value1, value2, value3, ...])

どちらのメソッドもまったく同じ結果を返します。

次の例は、これらの各メソッドを実際に使用する方法を示しています。

例 1: SciPy を使用して幾何平均を計算する

次のコードは、 SciPyライブラリのgmean()関数を使用して値の配列の幾何平均を計算する方法を示しています。

 from scipy. stats import gmean

#calculate geometric mean
gmean([1, 4, 7, 6, 6, 4, 8, 9])

4.81788719702029

幾何平均は4.8179であることがわかります。

例 2: NumPy を使用して幾何平均を計算する

次のコードは、 NumPyライブラリの組み込み関数を使用して幾何平均を計算するカスタム関数を作成する方法を示しています。

 import numpy as np

#define custom function
def g_mean(x):
    a = np. log (x)
return np. exp ( a.mean ())

#calculate geometric mean
g_mean([1, 4, 7, 6, 6, 4, 8, 9])

4.81788719702029

幾何平均は4.8179であることがわかり、前の例の結果と一致します。

ゼロの扱い方

操作している配列にゼロがある場合、どちらのメソッドもゼロを返すことに注意してください。

したがって、次のコードを使用して、幾何平均を計算する前に配列からゼロを削除できます。

 #create array with some zeros
x = [1, 0, 0, 6, 6, 0, 8, 9]

#remove zeros from array 
x_new = [i for i in x if i != 0]

#view updated array
print (x_new)

[1, 6, 6, 8, 9]

追加リソース

Python で平均二乗誤差 (MSE) を計算する方法
Python で平均絶対誤差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です