Python
Numpy - vstack, hstack
IT_달토끼
2023. 4. 18. 20:49
numpy의 vstack과 hstack은 여러 배열을 합쳐주는 메소드이다.
vstack은 vertical stack을 뜻하므로 수직방향으로 합쳐주고,
hstack은 horizontal stack을 뜻하므로 수평방향으로 합쳐준다.
아래 예제를 살펴보자.
import numpy as np
a = [[1, 2, 3], [4, 5, 6]]
b = [[7, 8, 9], [10, 11, 12], [13, 14, 15]]
a, b를 출력해보면 다음과 같다.
다음에 a와 b를 vstack의 인자로 넣어준다. 이때 튜플의 형태로 넣어주어야 한다.
ab = np.vstack((a,b))
ab를 출력하면 다음과 같이 a,b가 수직으로 합쳐진 걸 알 수 있다.
이제 hstack을 사용해 보자.
hstack은 수평으로 결합시키기 때문에, 결합하려는 둘 이상의 배열의 행의 개수가 같아야 한다.
(반대로 vstack은 수직으로 결합시키기 때문에, 결합하려는 배열들의 열의 개수가 같아야 한다.)
2차원 배열 c를 만들어서 a와 결합해보자.
c = [[16, 17, 18], [19, 20, 21]]
ac = np.hstack((a,c))
ac를 출력해보면 다음과 같이 수평으로 결합된 것을 알 수 있다.
앞선 예제에서는 2개의 배열을 결합시켰지만, 아래와 같이 2개 이상도 결합이 가능하다.
d = [[21, 22, 23], [24, 25, 26]]
acd = np.hstack((a, c, d))