어레이 합치기

여러 어레이를 하나의 어레이로 합칠 수 있는 vstack() , hstack() , column_stack() 의 사용법에 대해 알아봅니다.


numpy.vstack()

vstack()은 어레이를 수직 방향으로(행을 따라서) 합칩니다.

import numpy as np

a = np.floor(10*np.random.random((2, 2)))
b = np.floor(10*np.random.random((2, 2)))

print(a)
print(b)
print(np.vstack((a, b)))
[[5. 7.]
 [6. 5.]]

[[4. 6.]
 [4. 8.]]

[[5. 7.]
 [6. 5.]
 [4. 6.]
 [4. 8.]]


numpy.hstack()

hstack() 은 어레이를 수평 방향으로(열을 따라서) 합칩니다.

import numpy as np

a = np.floor(10*np.random.random((2, 2)))
b = np.floor(10*np.random.random((2, 2)))

print(a)
print(b)
print(np.hstack((a, b)))
[[5. 7.]
 [6. 5.]]

[[4. 6.]
 [4. 8.]]

[[5. 7. 4. 6.]
 [6. 5. 4. 8.]]


numpy.column_stack()

column_stack() 은 1차원 어레이를 열 방향으로 세워서 2차원 어레이로 만듭니다.

import numpy as np

np.random.seed(0)

a = np.floor(10*np.random.random((2, 2)))
b = np.floor(10*np.random.random((2, 2)))

print(np.hstack((a, b)))
print(np.column_stack((a, b)))
[[5. 7. 4. 6.]
 [6. 5. 4. 8.]]

[[5. 7. 4. 6.]
 [6. 5. 4. 8.]]

2차원 어레이에 대해서는 hstack() 과 기능이 동일합니다.


a = np.array([4, 2])
b = np.array([2, 8])

print(np.hstack((a, b)))
print(np.column_stack((a, b)))
[4 2 2 8]
[[4 2]
 [2 8]]

하지만 1차원 어레이에 대해서 hstack()column_stack() 은 다른 결과를 반환합니다.


관련 페이지



이전글/다음글