このページでは、Python で幾何平均(geometric mean)を実装する方法を示したいと思います。
幾何平均の数学的な定義については、Wikipedia の記事などを参考にしていただくとしましょう。さっそく実装を以下に示します。
def gmean(a_list):
if len(a_list) == 0:
return None
loglist = [math.log10(x) for x in a_list]
logavg = sum(loglist) / len(a_list)
return math.pow(10, logavg)
以上にて gmean
関数が定義されます。幾何平均を求めたい値のリストを引数として渡してあげると、戻り値で幾何平均が返ってきます。
幾何平均を求める関数については、SciPy などのパッケージがインストールされていればそちらから利用することができますが、何らかの理由で自前で実装したい場合は上記のコードを利用するとよいでしょう。