많은 경우 배열의 크기가 너무 크면 배열에서 최대 요소를 찾는 데 너무 많은 시간이 걸립니다. 이를 위해 Python의 numpy 모듈은 다음과 같은 함수를 제공합니다. numpy.argmax() . 이 함수는 지정된 축과 함께 반환되는 최대값의 인덱스를 반환합니다.
통사론:
numpy.argmax(a, axis=None, out=None)
매개변수
x: array_like
이 매개변수는 우리가 알고 싶은 최대값을 가진 소스 배열을 정의합니다.
자바 업데이트
축: int(선택 사항)
이 매개변수는 인덱스가 존재하는 축을 정의하며 기본적으로 평면화된 배열에 포함됩니다.
출력: 배열(선택사항)
이 매개변수는 결과가 삽입될 ndarray를 정의합니다. 이는 결과를 저장하는 데 적합한 동일한 유형 및 모양입니다.
보고
이 매개변수는 배열의 인덱스를 포함하는 ndarray를 정의합니다. 모양은 같아요 x.모양 축을 따른 치수가 제거되었습니다.
예시 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
산출:
리눅스 $home
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
위의 코드에서
- 별칭 이름이 np인 numpy를 가져왔습니다.
- 우리는 배열을 만들었습니다 '엑스' 사용하여 np.arange() 행 4개, 열 5개 모양으로 작동합니다.
- 배열의 각 요소에도 7을 추가했습니다.
- 우리는 변수를 선언했습니다 '그리고' 반환된 값을 할당했습니다. np.argmax() 기능.
- 우리는 배열을 통과했습니다 '엑스' 기능에서.
- 마지막으로 우리는 '그리고' .
출력에는 배열의 최대 요소 인덱스가 표시됩니다.
그렇지 않으면 자바에서
예시 2:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z
산출:
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
예시 3:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices]
산출:
(3, 4) 26
예시 4:
import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2
산출:
array([[0], [2], [2]]) array([5, 9, 6])
위의 코드에서
- 별칭 이름이 np인 numpy를 가져왔습니다.
- 다차원 배열을 만들었습니다. 'ㅏ '를 사용하여 np.배열() 기능.
- 우리는 변수를 선언했습니다 '인덱스_arr' 반환된 값을 할당했습니다. np.argmax() 기능.
- 우리는 배열을 통과했습니다 'ㅏ' 그리고 함수의 축.
- 우리는 '인덱스_arr' .
- 결국 우리는 두 가지 다른 방법을 사용하여 배열의 최대값을 가져오려고 했습니다. 이는 다음과 매우 유사합니다. np.argmax() .
출력에는 배열의 최대 요소 인덱스와 해당 인덱스에 있는 값이 표시됩니다.