[Python]Numpy配列(Array)の絶対値の平均値を取得するには?

python

どうも、ちょげ(@chogetarou)です。

numpy配列(Array)から絶対値の平均値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Numpy配列(Array)から絶対値の平均値を取得する方法は、2つあります。

numpy.average() + numpy.abs()

1つは、numpy.average()とnumpy.abs()を使う方法です。

まず、numpy.average()を呼び出します。

そして、numpy.average()のnumpy.abs()を呼び出します。

numpy.abs()の引数にnumpy配列を指定します。

result = np.average(np.abs(array))

上記のnumpy.average()は、np.abs()の引数に指定したNumpy配列の絶対値の平均値を返します。

使用例

import numpy as np

nums = np.array([[8, -5, -6],  
                [-9, -2, 7], 
                [3, -1, -4],] )

result = np.average(np.abs(nums))

print(result) #5.0

numpy.mean() + numpy.abs()

[]内でリスト(List)をforループします。

ループ処理で、abs()を呼び出し、abs()の引数にリストの要素を指定します。

そして、上記のsum()の結果を、引数にリストを指定したlen()関数で割ります。

result = sum([abs(i) for i in list]) / len(list)

上記のsum()とlen()の割り算は、[]内でforループしたリスト(List)の絶対値の平均値を返します。

forループではなく関数を使いたい場合は、map()を使います。

result = sum(map(abs, list)) / len(list)

使用例

numbers = [-1, 2, -3, 4, -5]

result = sum([abs(i) for i in numbers]) / len(numbers)

print(result) #3.0

まとめ

numpy配列から絶対値の平均値を取得する方法は、次の2つです。

  • numpy.average()とnumpy.abs()を使う方法
  • numpy.mean()とnumpy.abs()を使う方法

コメント

タイトルとURLをコピーしました