English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NumPy 배열 결합

배열을 연결하는 일반적인 함수들:

함수설명
concatenate기존 축에 따라 배열 시퀀스를 연결합니다
stack새 축에 따라 배열 시퀀스를 추가합니다
hstack시퀀스 내의 배열을 수평으로 스택합니다(열 방향)
vstack시퀀스 내의 배열을 직립으로 스택합니다(행 방향)
dstack높이와 깊이가 같은 높이에 따라 스택합니다

축에 따라 배열을 연결하는 numpy.concatenate

연결은 두 개나 더 많은 배열의 내용을 단일 배열에 넣는 것을 의미합니다.
SQL에서는 키에 따라 테이블을 연결하지만, NumPy에서는 축에 따라 배열을 연결합니다.

numpy.concatenate 함수는 지정된 축에 따라 같은 형상의 두 개나 더 많은 배열을 연결하는 데 사용되며, 다음과 같은 형식으로 사용됩니다:

numpy.concatenate((a1, a2, ...), axis)

파라미터 설명:

a1, a2, ...: 같은 타입의 배열axis: 배열을 연결하는 축을 따라, 기본적으로 0

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]]]
print('첫 번째 배열:')
print(a)
print('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]]]
print('두 번째 배열:')
print(b)
print('\n')
 # 두 배열의 차원이 같습니다
print ('축 0에 따라 두 배열을 연결합니다:')
print (np.concatenate((a,b)))
print('\n')
print ('축에 1 두 배열을 연결합니다:')
print (np.concatenate((a,b),axis = 1))

출력 결과는 다음과 같습니다:

[[ 5 6 7 8 9]
[ 7 8 9 10 11]]
축 0에 따라 두 배열을 연결합니다:
[[ 1 2 3 4 5]
[ 3 4 5 6 7]
[ 5 6 7 8 9]
[ 7 8 9 10 11]]
축 1 두 배열을 연결합니다:
[[ 1 2 3 4 5 5 6 7 8 9]
[ 3 4 5 6 7 7 8 9 10 11]]

스택 함수를 사용하여 배열을 연결합니다(numpy.stack)

numpy.stack 함수는 새 축에 따라 배열 시퀀스를 연결하는 데 사용되며, 다음과 같은 형식으로 사용됩니다:

numpy.stack(arrays, axis)

파라미터 설명:

arrays와 같은 형상의 배열 시퀀스axis: 배열 내의 축을 반환하고, 그 축에 따라 배열을 스택합니다

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]]]
print('첫 번째 배열:')
print(a)
print('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]]]
print('두 번째 배열:')
print(b)
print('\n')
print ('축 0에 스택된 두 배열:')
print (np.stack((a,b),0))
print('\n')
print ('축에 1 두 배열을 스택합니다:')
print (np.stack((a,b),1))

출력 결과는 다음과 같습니다:

첫 번째 배열:
[[1 2 3 4 5]
[3 4 5 6 7]]
두 번째 배열:
[[ 5 6 7 8 9]
[ 7 8 9 10 11]]
축 0에 두 배열을 쌓기:
[[[ 1 2 3 4 5]
[ 3 4 5 6 7]]
[[ 5 6 7 8 9]
[ 7 8 9 10 11]]]
축 1 두 배열을 쌓기:
[[[ 1 2 3 4 5]
[ 5 6 7 8 9]]
[[ 3 4 5 6 7]
[ 7 8 9 10 11]]]

행렬을 세로로 쌓기(numpy.hstack)

numpy.hstack는 numpy.stack 함수의 변형으로, 수평 쌓기를 통해 배열을 생성합니다.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]]]
print('첫 번째 배열:')
print(a)
print('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]]]
print('두 번째 배열:')
print(b)
print('\n')
print('수평 쌓기:')
c = np.hstack((a, b))
print(c)
print('\n')

출력 결과는 다음과 같습니다:

첫 번째 배열:
[[1 2 3 4 5]
 [3 4 5 6 7]]
두 번째 배열:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]]
수평 쌓기:
[[ 1 2 3 4 5 5 6 7 8 9]
 [ 3 4 5 6 7 7 8 9 10 11]]

행렬을 가로로 쌓기(numpy.vstack)

numpy.vstack는 numpy.stack 함수의 변형으로, 수직 쌓기를 통해 배열을 생성합니다.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]]]
print('첫 번째 배열:')
print(a)
print('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]]]
print('두 번째 배열:')
print(b)
print('\n')
print('수직 쌓기:')
c = np.vstack((a, b))
print(c)

출력 결과는 다음과 같습니다:

첫 번째 배열:
[[1 2 3 4 5]
 [3 4 5 6 7]]
두 번째 배열:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]]
수직 쌓기:
[[ 1 2 3 4 5]
 [ 3 4 5 6 7]
 [ 5 6 7 8 9]
 [ 7 8 9 10 11]]

높이로 배열을 쌓기(numpy.dstack)

NumPy는 높이와 깊이가 같은 높이로 배열을 쌓는 도움기능 dstack()을 제공합니다.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]]]
b = np.array([[5,6,7,8,9],[7,8,9,10,11]]]
arr = np.dstack((a, b))
print(arr)

출력 결과는 다음과 같습니다:

[[[ 1 5]
  [ 2 6]
  [ 3 7]
  [ 4 8]
  [ 5 9]]
 [[ 3 7]
  [ 4 8]
  [ 5 9]
  [ 6 10]
  [ 7 11]]]