어레이 형태 바꾸기

어레이는 각 축에 대한 요소의 개수로 주어지는 형태(shape)를 가집니다.

어레이의 형태를 확인하고, 원하는 형태로 바꾸는 방법에 대해 알아봅니다.


ndarray.shape

어레이의 형태를 반환합니다.

import numpy as np

a = np.floor(10*np.random.random((3, 4)))

print(a)
print(a.shape)
[[5. 7. 6. 5.]
 [4. 6. 4. 8.]
 [9. 3. 7. 5.]]
(3, 4)

어레이 a의 형태는 (3, 4)입니다.


어레이의 형태는 다양한 명령을 통해 바꿀 수 있습니다.

다음의 세가지 명령은 수정된 어레이를 반환하지만 원래 어레이는 변경하지 않습니다.


ndarray.ravel()

ravel() 은 (1차원으로) 펼쳐진 어레이를 반환합니다.

import numpy as np

a = np.floor(10*np.random.random((3, 4)))

print(a.ravel())
[5. 7. 6. 5. 4. 6. 4. 8. 9. 3. 7. 5.]


ndarray.reshape()

새로운 형태를 갖는 어레이를 반환합니다.

import numpy as np

a = np.floor(10*np.random.random((3, 4)))

print(a.reshape(6, 2))
[[5. 7.]
 [6. 5.]
 [4. 6.]
 [4. 8.]
 [9. 3.]
 [7. 5.]]


ndarray.T

행과 열을 바꾼 전치행렬 어레이(transposed array)를 반환합니다.

import numpy as np

a = np.floor(10*np.random.random((3, 4)))

print(a.T)
[[5. 4. 9.]
 [7. 6. 3.]
 [6. 4. 7.]
 [5. 8. 5.]]


이전글/다음글