본문 바로가기

Python/개념정리

파이썬) [numpy] argmax 함수

1. argmax 함수 소개

numpy.argmax(a, 
             axis=None, 
             out=None)

 

2. argmax 함수의 매개 변수 및 반환 값

 

1) 매개 변수

① a

가장 높은 값의 인덱스를 찾아야하는 배열로 변환할 수 있는 배열 또는 객체

 

② axis

행(axis = 0) 또는 열(axis = 1)을 따라 가장 큰 값의 색인을 찾는다. 
기본적으로 가장 큰 값의 인덱스는 배열을 평면화하여 찾는다.

 

③ np.argmax 매소드의 결과에 대한 자리 표시자

 

2) 반환

전체 배열에서 가장 높은 값을 가진 요소의 인덱스 배열

 

3. argmax 함수 사용 예제

 

1) 1차원 배열에서 가장 높은 값의 인덱스 찾기

import numpy as np

arr=np.array([3,7,1,5])

print(a)
res =np.argmax(a)
print(res)

 

<실행 결과>

[3 7 1 5]
1

 

2) 2차원 배열에서 가장 높은 값의 인덱스 찾기

import numpy as np

arr=np.array([[3,7,1,5],
              [2,4,5,6]])

print(arr)
res =np.argmax(arr)
print(res)

 

<실행 결과>

[[3 7 1 5]
 [2 4 5 6]]
1

여기서 axis 매개 변수가 지정되지 않았기 때문에 배열이 평평해지고 평평해진 배열에서 가장 큰 요소의 인덱스가 반환된다.

 

3) 열 축을 따라 가장 높은 요소의 인덱스 찾기

import numpy as np

arr=np.array([[3,7,1,5],
              [2,4,5,6]])

print(arr)
res =np.argmax(arr, axis= 0)
print(res)

 

<실행 결과>

[[3 7 1 5]
 [2 4 5 6]]
[0 0 1 1]

axis=0을 설정하면 각 열을 따라 가장 높은 값의 인덱스를 반환한다. 

 

4) 행 축을 따라 가장 높은 요소의 인덱스 찾기

import numpy as np

arr=np.array([[3,7,1,5],
              [2,4,5,6]])

print(arr)
res =np.argmax(arr, axis= 1)
print(res)

 

<실행 결과>

[[3 7 1 5]
 [2 4 5 6]]
[1 3]

axis=1을 설정하면 각 행을 따라 가장 높은 값의 인덱스를 반환한다. 

 

 

<참고 자료>

https://www.delftstack.com/ko/api/numpy/python-numpy-argmax/

 

파이썬 numpy.argmax()

numpy.argmax() 함수는 주어진 NumPy 배열에서 가장 높은 값을 가진 값의 인덱스를 반환합니다.

www.delftstack.com