Pythonの数値計算ライブラリNumPyの配列型データ構造であるndarrayの要素の最大値・最小値を取得する方法ついて説明する。
Numpyを使う際にはimportが必要。しばしばnpと略される。
import numpy as np
1. max/min(amax/amin)によるndarray内の最大値・最小値取得
maxは1つのndarray内の要素の最大値を求める。引数にaxisを指定すると行ごと、列ごとの最大値を求めることができる。maxはamaxの別名であり同じ関数(どちらを使っても同じ結果となる)。
axisを指定しない場合、全要素の最大値が求まる。戻り値はスカラー。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.max(a))
実行結果
6
axis=0を指定した場合。第1軸方向に各々の要素の最大値が求まる。戻り値はndarrayになる。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.max(a, axis=0))
実行結果
[6, 5, 4]
axis=1を指定すると第2軸方向に各々の要素の最大値が求まる。戻り値はndarrayになる。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.max(a, axis=1))
実行結果
[4, 6]
要素の最小値はmin(または別名のamin)により求まる。
軸を指定せず全要素の最小値を求める場合。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.min(a))
実行結果
1
axis=0を指定した場合。第1軸方向に各々の要素の最小値が求まり戻り値はndarrayになる。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.min(a, axis=0))
実行結果
[2, 3, 1]
axis=1を指定した場合。第2軸方向に各々の要素の最小値が求まり戻り値はndarrayになる。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) print(np.min(a, axis=1))
実行結果
[2, 1]
2. maximum/minumumによる2つのndarray間の最大値・最小値取得
max/minでは一つのndarray内の最大最小が求まるが、2つのndarrayの最大最小を求めるにはmaximum/minumumを用いる。
numpy.maximumで2つのndarrayの同じインデックスの要素同士を比較し大きい方を抽出する。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) b = np.array([[0,1,8],[2,3,4]]) print(np.maximum(a,b))
実行結果
[[2, 3, 8], [6, 5, 4]]
比較するndarrayの形状は同じでないとエラーになる。
import numpy as np a = np.array([[2,3,4,1],[6,5,1,9]]) b = np.array([[0,1,8],[2,3,4]]) print(np.maximum(a,b))
実行結果
ValueError: operands could not be broadcast together with shapes (2,4) (2,3)
numpy.minimumで2つのndarrayの同じインデックスの要素同士を比較し小さい方を抽出する。
import numpy as np a = np.array([[2,3,4],[6,5,1]]) b = np.array([[0,1,8],[2,3,4]]) print(np.minimum(a,b))
実行結果
[[0, 1, 4], [2, 3, 1]]
3. リファレンス
NumPy > numpy.amax
NumPy > numpy.amin
NumPy > numpy.maximum
NumPy > numpy.minimum
0 件のコメント:
コメントを投稿