배열을 연결합니다!
import numpy as np
# [hstack] 행의 수가 같은 두개 이상의 배열을 옆으로 연결
# 연결할 배열은 하나의 리스트에 담아야 함
print('-------hstack-------')
a1 = np.ones((2, 3))
print(a1)
a2 = np.zeros((2, 2))
print(a2)
hs = np.hstack([a1, a2])
print(hs)
# [vstack] 행의 수가 같은 두개 이상의 배열을 아래로 연결
# 연결할 배열은 하나의 리스트에 담아야 함
print('-------vstack-------')
b1 = np.ones((2, 3))
print(b1)
b2 = np.zeros((4, 3))
print(b2)
vs = np.vstack([b1, b2])
print(vs)
# [dstack] 제 3의 축, 행이나 열이 아닌 깊이 방향으로 배열을 합치는 함수
print('-------dstack-------')
c1 = np.ones((3, 4))
c2 = np.zeros((3, 4))
c3 = np.ones((3, 4))
ds = np.dstack([c1, c2, c3])
print(ds)
# [stack] 사용자가 원하는 차원으로 배열 연결
print('-------stack-------')
s1 = np.stack([c1, c2])
print(s1)
s2 = np.stack([c1, c2], axis=2) # axis 의 기본값은 0
print(s2)
# r_method : hstack과 유사하다. 메서드이지만 ()를 사용하지 않고 []를 사용한다
# 특수 메서드 ==> 인덱서(indexer)
print('-------r_method-------')
rr = np.r_[np.array([1, 2, 3, 4]), np.array([5, 6, 7, 8])]
print(rr)
# c_method : 배열의 차원을 증가하여 연결
print('-------c_method-------')
cc = np.c_[np.array([1, 2, 3, 4]), np.array([5, 6, 7, 8])]
print(cc)
# tile() : 동일한 배열을 반복하여 연결
print('-------tile-------')
ti = np.array([[1, 2, 3], [4, 5, 6]])
print(np.tile(ti, 5))
print(np.tile(ti, (3, 2)))
[코드 실행 결과]
-------hstack-------
[[1. 1. 1.]
[1. 1. 1.]]
[[0. 0.]
[0. 0.]]
[[1. 1. 1. 0. 0.]
[1. 1. 1. 0. 0.]]
-------vstack-------
[[1. 1. 1.]
[1. 1. 1.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[1. 1. 1.]
[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
-------dstack-------
[[[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]]
[[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]]
[[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]
[1. 0. 1.]]]
-------stack-------
[[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
[[[1. 0.]
[1. 0.]
[1. 0.]
[1. 0.]]
[[1. 0.]
[1. 0.]
[1. 0.]
[1. 0.]]
[[1. 0.]
[1. 0.]
[1. 0.]
[1. 0.]]]
-------r_method-------
[1 2 3 4 5 6 7 8]
-------c_method-------
[[1 5]
[2 6]
[3 7]
[4 8]]
-------tile-------
[[1 2 3 1 2 3 1 2 3 1 2 3 1 2 3]
[4 5 6 4 5 6 4 5 6 4 5 6 4 5 6]]
[[1 2 3 1 2 3]
[4 5 6 4 5 6]
[1 2 3 1 2 3]
[4 5 6 4 5 6]
[1 2 3 1 2 3]
[4 5 6 4 5 6]]
Process finished with exit code 0