반응형
axis 매개 변수와 함께 사용할 때 argmax
및 argmin
의 출력을 이해할 수 없습니다. 예를 들면 :
>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1, 2, 4, 7],
[ 9, 88, 6, 45],
[ 9, 76, 3, 4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
보시다시피 최대 값은 포인트 (1,1)이고 최소값은 포인트 (0,0)입니다. 그래서 내가 실행할 때 내 논리에서 :
내가 사물을 이해하는 데 문제가 있습니까?
해결 방법
axis
인수를 추가하여 NumPy는 행과 열을 개별적으로 확인합니다. 지정되지 않으면 배열 a
는 단일 1D 배열로 평면화됩니다.
axis = 0
은 작업이 차례로 2D 배열 a
의 열 아래로 수행됨을 의미합니다.
예를 들어 np.argmin (a, axis = 0)
은 4 개 열 각각에서 최소값의 인덱스를 반환합니다. 각 열의 최소값은 아래 굵게 표시됩니다.
>>> a
array([[ 1, 2, 4, 7], # 0
[ 9, 88, 6, 45], # 1
[ 9, 76, 3, 4]]) # 2
>>> np.argmin(a, axis=0)
array([0, 0, 2, 2])
반면에 axis = 1
은 작업이 a
의 행 에서 수행됨을 의미합니다.
즉, a
에는 3 개의 행이 있으므로 np.argmin (a, axis = 1)
은 [0, 2, 2]
를 반환합니다. 첫 번째 행의 최소값 인덱스는 0이고 두 번째 및 세 번째 행의 최소값 인덱스는 2입니다.
>>> a
# 0 1 2 3
array([[ 1, 2, 4, 7],
[ 9, 88, 6, 45],
[ 9, 76, 3, 4]])
>>> np.argmin(a, axis=1)
array([0, 2, 2])
참조 페이지 https://stackoverflow.com/questions/28697993
반응형
'파이썬' 카테고리의 다른 글
파이썬 for 루프에서 생성 된 Pandas 데이터 프레임 추가 (0) | 2020.11.30 |
---|---|
파이썬 Line2D를 사용하여 파이썬에서 선 그리기 (0) | 2020.11.30 |
파이썬, 셀레늄에서 프레임을 전환하는 기능 (0) | 2020.11.29 |
파이썬에서 파일을 바이트 단위로 읽는 방법과 바이트 목록을 바이너리로 인쇄하는 방법은 무엇입니까? (0) | 2020.11.29 |
파이썬 Django에서 json 배열 만들기 (0) | 2020.11.29 |
댓글