Programming/Python
[Python] Numpy np.vstack VS np.hastack - 배열하기
EunjiBest
2022. 1. 20. 18:06
[Python] Numpy np.vstack VS np.hastack - 배열하기
import numpy as np
np.hstack
배열을 가로로 결합하기
>>> a = np.array([1, 2, 3])
>>> b = np.array([5, 6, 7, 8])
>>> np.hstack([a, b])
array([1, 2, 3, 5, 6, 7, 8])
a와 b가 가로로 결합되어 출력된다.
hstack을 사용할 떄에는 배열 행이 일치해야한다. 열은 일치하지 않아도 관계가 없다.
>>> a = np.array([[1,2,3],[2,3,4],[5,6,7]])
>>> b = np.array([[1,2,3],[2,3,4]])
>>> np.hstack([a,b])
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 3 and the array at index 1 has size 2
a와 b의 행의 개수가 각각 3개 2개로 다르기 때문에 오류가 발생한다.
np.vstack
배열을 세로로 결합하기
>>> a = np.array([1, 2, 3])
>>> b = np.array([5, 6, 7])
>>> np.vstack([a, b])
array([[1, 2, 3],
[5, 6, 7]])
a와 b가 세로로 결합하여 출력된다.
vstack을 사용할 때에는 열의 개수가 일치해야한다.
>>> a = np.array([1, 2, 3])
>>> b = np.array([5, 6, 7, 8])
>>> np.vstack([a, b])
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 3 and the array at index 1 has size 4
일치하지 않으면 결합이 되지 않고 오류가 발생한다.
인덱스 사이즈가 3과 4로 맞지 않는다고 친절하게 알려주기도 한다.
summary
방향 | 일치요소 | |
np.hstack | 가로 | 행 일치 |
np.vstack | 세로 | 열 일치 |
혼동하지 않도록 주의해야겠다.
반응형