[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 | 세로 | 열 일치 |
혼동하지 않도록 주의해야겠다.
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 리스트 내포 (List comprehension) (10) | 2022.03.02 |
---|---|
[Python] 점프 투 파이썬 연습문제 풀이 3장 (10) | 2022.03.01 |
[Python] Numpy argmax( ),argmin( ),np.where( ) - 최소, 최대, 조건 색인값 찾기 (0) | 2022.01.20 |
[Python] numpy (파이썬 넘파이) 데이터형 - 자료형을 확인해야하는 이유 (0) | 2022.01.20 |
[Python] lambda function - 파이썬 람다(Lambda)함수 (0) | 2022.01.20 |
댓글