Python numpy 강좌 : 제 11강 - 병합

   

병합


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.hstack([a, b])
d = np.vstack([a, b])

print(a)
print(b)
print("--------")
print(c)
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
——–
[[1 2 5 6]
[3 4 7 8]]
[[1 2]
[3 4]
[5 6]
[7 8]]

numpy.hstack([배열1, 배열2])를 이용하여 배열1 우측배열2이어 붙일 수 있습니다.

numpy.vstack([배열1, 배열2])를 이용하여 배열1 하단배열2이어 붙일 수 있습니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.stack([a, b], axis=0)
d = np.stack([a, b], axis=1)

print(a)
print(b)
print("--------")
print(c)
print("--------")
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
——–
[[[1 2]
[3 4]]

[[5 6]
[7 8]]]
——–
[[[1 2]
[5 6]]

[[3 4]
[7 8]]]

numpy.stack([배열1, 배열2, axis=축])를 이용하여 지정한 으로 배열1배열2이어 붙일 수 있습니다.

이어 붙일 차원의 범위를 넘어갈 수 없습니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.dstack([a, b])

print(a)
print(b)
print("--------")
print(c)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
——–
[[[1 5]
[2 6]]

[[3 7]
[4 8]]]

numpy.dstack([배열1, 배열2])를 이용하여 새로운 축으로 배열1배열2이어 붙일 수 있습니다.

numpy.stack([a, b], axis=2)동일한 결과를 반환합니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.tile(a, 2)

print(a)
print(b)
결과
[[1 2]
[3 4]]
[[1 2 1 2]
[3 4 3 4]]

numpy.tile(배열, 반복 횟수)를 이용하여 배열반복 횟수만큼 이어 붙일 수 있습니다.


특수 병합 메소드


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.c_[a, b]
d = np.r_[a, b]

print(a)
print(b)
print("--------")
print(c)
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
——–
[[1 2 5 6]
[3 4 7 8]]
[[1 2]
[3 4]
[5 6]
[7 8]]

numpy.c_[배열1, 배열2]를 이용하여 배열1 우측배열2이어 붙일 수 있습니다.

numpy.r_[배열1, 배열2]를 이용하여 배열1 하단배열2이어 붙일 수 있습니다.

소괄호 ()를 사용하지 않고 대괄호 []를 사용하여 메소드를 생성합니다.



도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python OpenCV 강좌 : 제 1강 - OpenCV 설치 ⤧  Previous post Python numpy 강좌 : 제 10강 - 난수