반응형
비평 탄 인덱스를 반환하는 numpy 배열의 Argmax
Numpy 배열에서 최대 요소의 인덱스를 얻으려고합니다. 이 작업은 numpy.argmax
. 내 문제는 전체 배열에서 가장 큰 요소를 찾고 그 인덱스를 얻고 싶다는 것입니다.
numpy.argmax
내가 원하는 것이 아닌 하나의 축을 따라 적용되거나 내가 원하는 일종의 평평한 배열에 적용될 수 있습니다.
내 문제는 numpy.argmax
with 를 사용 axis=None
하면 다차원 인덱스를 원할 때 플랫 인덱스 가 반환 된다는 것 입니다.
divmod
평평하지 않은 인덱스를 얻는 데 사용할 수 있지만 이것은 추악한 느낌입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
numpy.unravel_index()
다음 결과에 사용할 수 있습니다 numpy.argmax()
.
>>> a = numpy.random.random((10, 10))
>>> numpy.unravel_index(a.argmax(), a.shape)
(6, 7)
>>> a[6, 7] == a.max()
True
np.where(a==a.max())
최대 요소의 좌표를 반환하지만 배열을 두 번 구문 분석해야합니다.
>>> a = np.array(((3,4,5),(0,1,2)))
>>> np.where(a==a.max())
(array([0]), array([2]))
이는와 비교 argmax
하여 최대 값과 동일한 모든 요소의 좌표를 반환합니다. argmax
그중 하나만 반환합니다 ( np.ones(5).argmax()
반환 0
).
최대 값의 모든 발생에 대한 평탄하지 않은 인덱스를 얻으려면 다음 대신 사용하여 eumiro의 대답을 약간 수정할 수 있습니다 .argwhere
where
np.argwhere(a==a.max())
>>> a = np.array([[1,2,4],[4,3,4]])
>>> np.argwhere(a==a.max())
array([[0, 2],
[1, 0],
[1, 2]])
참고 URL : https://stackoverflow.com/questions/9482550/argmax-of-numpy-array-returning-non-flat-indices
반응형
'Program Tip' 카테고리의 다른 글
iOS : UIView의 'drawRect :'대 레이어의 대리자 'drawLayer : inContext :'사용 (0) | 2020.10.26 |
---|---|
행렬 곱셈 : 행렬 크기의 작은 차이, 타이밍의 큰 차이 (0) | 2020.10.26 |
CSS 애니메이션 속성이 애니메이션 후 유지됨 (0) | 2020.10.26 |
IP 주소를 ping하는 방법 (0) | 2020.10.26 |
MySQL은 Windows에서 데이터베이스 파일을 어디에 저장하며 파일 이름은 무엇입니까? (0) | 2020.10.26 |