본문 바로가기

Python/개념정리

파이썬) [numpy] reshape 함수

1. Axis = Numbering

1- Dimension
axis x      
Numbering 0      
2- Dimension
axis y x    
Numbering 0 1    
3- Dimension
axis z y x  
Numbering 0 1 2  
4- Dimension
axis t z y x
Numbering 0 1 2 3

차원이 하나씩 늘어날수록 기존의 차원 Numbering이 하나씩 뒤로 밀린다.

 

2. 1차원 연산

import numpy as np

arr = np.arange(1, 11).reshape(10)
print(arr)

 

<실행 결과>

[1 2 3 4 5 6 7 8 9 10]

 

3. 2차원 연산

import numpy as np

arr = np.arange(1, 11).reshape(2,5)
print(arr)

 

<실행 결과>

[[1 2 3 4 5]
 [6 7 8 9 10]]

 

4. 3차원 연산

import numpy as np

arr = np.arange(1, 21).reshape(2,2,5)
print(arr)

 

<실행 결과>

[[[ 1 2 3 4 5]
  [6 7 8 9 10]]

 [[11 12 13 14 15]
  [16 17 18 19 20]]]

 

5. 4차원 연산

import numpy as np

arr = np.arange(1, 41).reshape(-1,2,2,5) # reshape(2,2,2,5)와 동일
print(arr)

 

<실행 결과>

[[[[ 1 2 3 4 5]
   [ 6 7 8 9 10]]

 [[11 12 13 14 15]
  [16 17 18 19 20]]]

 [[[21 22 23 24 25]
    [26 27 28 29 30]]

   [[31 32 33 34 35]
    [36 37 38 39 40]]]]

-1은 자동으로 계산한다. 예를 들어 위에서 총 40개의 요소가 있으니 2*2*2*5 = 40이다. 이때 -1을 t에 넣으면 z*y*x를 계산하여 맞는 숫자를 알아서 t에 넣어준다.

 

 

<참고 자료>

https://separang.tistory.com/87

 

[Numpy] 다중 차원(Dimension) 연산 쉽게 익히기 (꿀팁)

포스팅을 보기에 앞서, 이 글을 읽는 사람이 4차원쯤은 머릿속에서 그릴 수 있다. 하면 뒤로 가기를 누르길 바란다. 그럼 시작한다. 1. Axis = Numbering 부터 확인 np.sum([array], axis = # )가 기본 차원 연

separang.tistory.com