본문 바로가기
파이썬/파이썬기본문법

파이썬 numpy 배열 결합(Join)

by flycoding 2023. 12. 13.
반응형

파이썬 numpy 배열 결합(join)

조인(joining)은 두 개 이상의 배열의 콘텐츠를 하나의 배열에 넣는 것을 의미한다.
SQL에서는 키를 기반으로 테이블을 조인하는 반면 NumPy에서는 축을 기반으로 배열을 조인한다.

우리는 축을 따라 concatenate() 함수에 결합하고자 하는 배열의 순서를 전달한다. 축이 명시적으로 전달되지 않으면 0으로 간주된다.

두 개의 배열 결합:

import numpy as np

arr1 = np.array([1, 2, 3])
print("arr1 : ", arr1)

arr2 = np.array([4, 5, 6])
print("arr2 : ", arr2)

arr = np.concatenate((arr1, arr2))
print("np,concatenate((arr1, arr2))" : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열 결합 join, concatenate()함수 - 1차원 배열 활용 예제

 

 

행(축=1)을 따라 두 개의 2-D 배열을 결합한다:

import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
print("arr1 : \n", arr1)

arr2 = np.array([[5, 6], [7, 8]])
print("arr2 : \n", arr2)

arr = np.concatenate((arr1, arr2), axis=1)
print("arr = np.concatenate((arr1, arr2), axis=1) \n", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열 결합 join, concatenate()함수 - 2차원 배열 활용 예제

 

 

파이썬 numpy stack()함수를 활용하여 배열 결합

적층은 연접과 동일하지만, 다른 점은 새로운 축을 따라 적층한다는 것이다.

우리는 두 번째 축을 따라 두 개의 1-D 배열을 연결할 수 있으며, 이는 하나를 다른 축 위에 놓는 결과를 초래한다. 즉, 적층이다.

우리는 축과 함께 stack() 메소드에 결합하고 싶은 배열의 순서를 전달한다. 축이 명시적으로 전달되지 않으면 0으로 간주된다.

import numpy as np

arr1 = np.array([1, 2, 3])
print("arr1 : \n", arr1)

arr2 = np.array([4, 5, 6])
print("arr2 : \n", arr2)

arr = np.stack((arr1, arr2), axis=1)

print('np.stack((arr1, arr2), axis=1 : \n',arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열결합 stack() 함수 활용 예제

 

파이썬 numpy 배열 결합 - hstack()

NumPy는 행을 따라 쌓기 위한 도우미 함수 hstack()을 제공한다.

import numpy as np

arr1 = np.array([1, 2, 3])
print("arr1 : ", arr1)

arr2 = np.array([4, 5, 6])
print("arr2 : ", arr2)

arr = np.hstack((arr1, arr2))
print('arr = np.hstack((arr1, arr2)) : ', arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열결합 hstack() 함수 활용 예제

 

파이썬 numpy 배열 결합 - vstack()

NumPy는 열을 따라 쌓을 수 있는 도우미 기능 vstack()을 제공한다.

import numpy as np

arr1 = np.array([1, 2, 3])
print("arr1 : ", arr1)

arr2 = np.array([4, 5, 6])
print("arr2 : ", arr2)

arr = np.vstack((arr1, arr2))
print('arr = np.vstack((arr1, arr2)) : \n', arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열결합 vstack() 함수 활용 예제

 

파이썬 numpy 배열 결합 - dstack()

NumPy는 깊이와 동일한 높이를 따라 쌓을 수 있는 도우미 기능 dstack()을 제공한다.

import numpy as np

arr1 = np.array([1, 2, 3])
print("arr1 : ", arr1)

arr2 = np.array([4, 5, 6])
print("arr2 : ", arr2)

arr = np.dstack((arr1, arr2))
print('arr = np.dstack((arr1, arr2)) : \n ', arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열결합 dstack() 함수 활용 예제

 

지금까지 파이썬 numpy 배열 결합에 대해서 살펴보았다.

결합할 경우 가로축, 세로축, 깊이축에 따라서 결합이 달라짐을 꼭 실습하며 확인하시기 바란다.

파이썬 numpy 배열 결합으로 concatenate(), stack(), hstack(), vstack(), dstack() 함수를 활용한다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글