English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
배열을 연결하는 일반적인 함수들:
함수 | 설명 |
concatenate | 기존 축에 따라 배열 시퀀스를 연결합니다 |
stack | 새 축에 따라 배열 시퀀스를 추가합니다 |
hstack | 시퀀스 내의 배열을 수평으로 스택합니다(열 방향) |
vstack | 시퀀스 내의 배열을 직립으로 스택합니다(행 방향) |
dstack | 높이와 깊이가 같은 높이에 따라 스택합니다 |
연결은 두 개나 더 많은 배열의 내용을 단일 배열에 넣는 것을 의미합니다.
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(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.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.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()을 제공합니다.
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]]]