numpy配列の最大値・最小値・平均値・合計値の求め方

スポンサーリンク

numpy.max()で最大値を算出

下記の形式で、npArrayの全ての要素の中から最大値を算出します。

numpy.max(npArray)

Pythonのこういったメソッドを用意してくれているので、コーディングが楽だと思っています。
最小値や平均値も簡単に算出できます。

下記にその例をご紹介したいと思います。

スポンサーリンク

numpy.min()で最小値を算出

下記の形式で、npArrayの全ての要素の中から最小値を算出します。

numpy.min(npArray)

numpy.mean()で平均値を算出

下記の形式で、npArrayの全ての要素の中から平均値を算出します。

numpy.mean(npArray)

numpy.sum()で合計値を算出

下記の形式で、npArrayの全ての要素の中から合計値を算出します。

numpy.sum(npArray)

パラメータaxisの設定で列・行を指定

関数の引数で、パラメータaxisを設定することで、算出する列・行を指定できます。
axis = 0で列を指定
axis = 1で行を指定

下記の形式で、列単位で最大値を算出します。

numpy.max(npArray, axis = 0)

下記の形式で、行単位で最小値を算出します。

numpy.min(npArray, axis = 1)

numpy.max() numpy.min() numpy.mean() numpy.sum()を使ったサンプルコード

下記がサンプルコードになります。
numpy配列の最大値・最小値・平均値をprint出力しています。
後半は、axis = 0 と axis = 1 を指定した場合のサンプルコードになります。

 $ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import numpy as np

#2次元でnumpy配列を生成
npArray = np.array(
			[[0, 1, 2],
			 [3, 4, 5],
			 [6, 7, 8]])

print("配列の全ての要素を出力")
print(npArray)

print("配列の全ての要素の中から、最大値を出力")
print(np.max(npArray))

print("配列の全ての要素の中から、最小値を出力")
print(np.min(npArray))

print("配列の全ての要素の平均値を出力")
print(np.mean(npArray))

print("配列の全ての要素の合計値を出力")
print(np.sum(npArray))

print("列単位で最大値を出力(それぞれの列の最大値を出力)")
print(np.max(npArray, axis = 0))

print("行単位で最小値を出力(それぞれの列の最小値を出力)")
print(np.min(npArray, axis = 1))

 $ ./sample.py 
配列の全ての要素を出力
[[0 1 2]
 [3 4 5]
 [6 7 8]]
配列の全ての要素の中から、最大値を出力
8
配列の全ての要素の中から、最小値を出力
0
配列の全ての要素の平均値を出力
4.0
配列の全ての要素の合計値を出力
36
列単位で最大値を出力(それぞれの列の最大値を出力)
[6 7 8]
行単位で最小値を出力(それぞれの列の最小値を出力)
[0 3 6]

スライスで指定した部分配列を対象にする

スライスで指定した部分配列に対して算出することもできます。
下記がサンプルコードになります。

 $ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import numpy as np

#2次元でnumpy配列を生成
npArray = np.array(
			[[0, 1, 2],
			 [3, 4, 5],
			 [6, 7, 8]])

print("配列の全ての要素を出力")
print(npArray)

print("スライスで指定した0~1行目の配列の全ての要素の中から、最大値を出力")
print(np.max(npArray[0:2, :]))

print("スライスで指定した0~1列目の配列の全ての要素の中から、最小値を出力")
print(np.min(npArray[:, 0:2]))

print("スライスで指定した0~1列目の配列の全ての要素の中から、平均値を出力")
print(np.mean(npArray[:, 0:2]))

 $ ./sample.py 
配列の全ての要素を出力
[[0 1 2]
 [3 4 5]
 [6 7 8]]
スライスで指定した0~1行目の配列の全ての要素の中から、最大値を出力
5
スライスで指定した0~1列目の配列の全ての要素の中から、最小値を出力
0
スライスで指定した0~1列目の配列の全ての要素の中から、平均値を出力
3.5

スポンサーリンク