[PYTHON] NumPy의 축 매개 변수는 어떻게 작동합니까?
PYTHONNumPy의 축 매개 변수는 어떻게 작동합니까?
누군가 NumPy의 축 매개 변수가 정확히 무엇을 설명 할 수 있습니까?
나는 몹시 혼란 스럽다.
myArray.sum (axis = num) 함수를 사용하려고합니다.
처음에는 배열 자체가 3 차원 인 경우 axis = 0은 동일한 위치에있는 중첩 항목의 합계로 구성된 세 요소를 반환합니다. 각 차원에 5 개의 차원이 포함 된 경우 5 개 항목의 결과를 반환하는 등 축 1을 기대합니다.
그러나 이것이 사실이 아니며 문서가 나를 돕는 훌륭한 일을하지 못합니다 (그들은 3x3x3 배열을 사용하므로 어떤 일이 발생했는지 알기가 어렵습니다)
여기 내가 한 일이있다.
>>> e
array([[[1, 0],
[0, 0]],
[[1, 1],
[1, 0]],
[[1, 0],
[0, 1]]])
>>> e.sum(axis = 0)
array([[3, 1],
[1, 1]])
>>> e.sum(axis=1)
array([[1, 0],
[2, 1],
[1, 1]])
>>> e.sum(axis=2)
array([[1, 0],
[2, 1],
[1, 1]])
>>>
분명 결과는 직관적이지 않습니다.
해결법
-
==============================
1.분명히,
분명히,
e.shape == (3, 2, 2)
축에 대한 합은 축약 작업이므로 지정된 축이 사라집니다. 금후,
e.sum(axis=0).shape == (2, 2) e.sum(axis=1).shape == (3, 2) e.sum(axis=2).shape == (3, 2)
-
==============================
2.직관적으로 축을 이해하려면 아래 그림을 참조하십시오 (출처 : Physics Dept, Cornell Uni)
직관적으로 축을 이해하려면 아래 그림을 참조하십시오 (출처 : Physics Dept, Cornell Uni)
위의 그림에서 (부울) 배열의 모양은 shape = (8, 3)입니다. ndarray.shape는 항목이 특정 차원의 길이에 해당하는 튜플을 반환합니다. 예제에서 8은 0 축의 길이에 해당하는 반면 3은 1 축의 길이에 해당합니다.
-
==============================
3.누군가이 시각적 묘사가 필요한 경우 :
누군가이 시각적 묘사가 필요한 경우 :
from https://stackoverflow.com/questions/22320534/how-does-the-axis-parameter-from-numpy-work by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 목록을 피클하는 방법? [닫은] (0) | 2018.10.27 |
---|---|
[PYTHON] 매버릭스에 베개 / PIL 설치하기 (0) | 2018.10.27 |
[PYTHON] 바이트 파일에서 PIL 이미지 열기 (0) | 2018.10.27 |
[PYTHON] multiprocessing.Pool ()은 일반 함수를 사용하는 것보다 느립니다. (0) | 2018.10.27 |
[PYTHON] NumPy 대 다중 처리 및 mmap (0) | 2018.10.27 |