3차원 텐서를 이용하기 위해
데이터를 불러온다.
z는 (4행, 3열)의 2차원 데이터가 3개가 있다는 뜻이다.
위 텐서의 shape은 (3, 4, 3)으로서
(차원, 행, 열)로 보면 쉽다.
axis는 따라서 0, 1, 2의 값을 가진다.
차원=0 / 행=1 / 열=2
축을 이용하기 위해 np.sum()으로 살펴보겠다.
axis = 0
axis = 0은 차원을 따라서 압축하는 것이다.
36의 값은 0 + 12 + 24의 결과값이 된다.
또한 기존 (3, 4, 3)의 shape에서
0번째 축을 따라서 압축했으므로
남는 것은 (4, 3)의 2차원 행렬이 된다.
axis=1
axis=1 은 행을 따라서 압축하는 것이다.
18은 0 + 3 + 6 + 9의 합으로 나온 결과값이다.
또한 기존 (3, 4, 3)의 shape에서
1번째 축을 따라서 압축했으므로
(3, 3)의 2차원 행렬데이터만 남게된다.
axis=2
axis=2 은 열을 따라서 압축하는 것이다.
3은 0 + 1 + 2 의 합으로 나온 결과값이다.
또한 기존 (3, 4, 3)의 shape에서
2번째 축을 따라서 압축했으므로
(3, 4)의 2차원 행렬데이터만 남게된다.
axis = (튜플)
axis의 값이 튜플로 주어졌을땐 순서대로 모든 축에 대해서 연산을 시행한다.
이처럼 튜플로 있을 때, 순서대로 하면 된다.
3차원에서 차원을 따라 합한뒤
2차원 데이터에서 행을 따라 합하면 되는 것이다.
기존의 shape은 (3, 4, 3)이었으나
차원과 행을 따라 연산했기 때문에 (0, 1)
shape은 (3,)으로 남게 됐다.
'Numpy' 카테고리의 다른 글
Numpy - 배열 순서 섞기 : np.random.shuffle, np.random.permutation (0) | 2020.08.08 |
---|---|
Numpy - 정렬 : sort, np.sort, 축, 내림차순 (0) | 2020.07.10 |
Numpy - searchsorted (0) | 2020.07.04 |
Numpy - 브로드캐스팅 (0) | 2020.06.24 |
Numpy - 2차원 axis 이해하기 (1) | 2020.06.23 |