소개
np.stack(arrays, axis)는 여러 배열을 쌓아 새로운 차원을 추가하는 함수로, 동일한 크기의 배열을 지정한 축(axis)에 따라 결합합니다. 이 함수는 데이터를 쌓아 새로운 차원으로 변환할 때 유용하며, 주로 다차원 배열 작업에서 활용됩니다. 예를 들어, 여러 1차원 배열을 쌓아 2차원 배열로 만들거나, 2차원 배열을 쌓아 3차원 배열로 변환할 수 있습니다.
기본 사용법
import numpy as np
# 두 개의 1차원 배열 생성
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# 배열을 새로운 차원으로 쌓기 (2x3 배열 생성)
stacked_array = np.stack((array1, array2))
# 두 배열을 열(axis=1) 방향으로 쌓기
stacked_axis1 = np.stack((array1, array2), axis=1)
print("기본 배열 쌓기:\n", stacked_array)
print("열 방향으로 배열 쌓기:\n", stacked_axis1)
상세 설명
- arrays(array1, array2, ...): 쌓을 배열들의 튜플 또는 리스트. 배열들은 동일한 크기를 가져야 합니다.
- 예시: np.stack((array1, array2))는 두 개의 1차원 배열을 새로운 축을 추가해 쌓아 2x3 배열을 생성합니다.
- axis (선택사항): 배열을 쌓을 축을 지정합니다. 기본값은 0으로, 새로운 첫 번째 축을 추가하며 배열을 쌓습니다. axis=1은 두 배열을 열 방향으로 쌓습니다.
- 예시: np.stack((array1, array2), axis=1)은 두 배열을 열 방향으로 쌓아 3x2 배열을 생성합니다.
- 활용
- 다차원 데이터 처리: 여러 개의 배열을 하나로 쌓아 새로운 차원을 추가함으로써 이미지 처리, 신호 처리, 과학적 계산에서 데이터를 효율적으로 다룰 수 있습니다.
- 배열 결합: 여러 배열을 결합하고 새로운 차원을 추가하여 모델의 입력 데이터를 준비하거나, 배열을 변환할 때 유용합니다.
라이센스
NumPy는 BSD-3-Clause 라이센스를 따릅니다. 자유롭게 사용, 수정, 배포할 수 있으며 상업적 목적으로도 사용할 수 있습니다. 라이센스와 저작권 정보는 NumPy의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
[NumPy] 배열 수평으로 쌓기: np.hstack() 사용 및 설명
[NumPy] 배열 수직으로 쌓기: np.vstack() 사용 및 설명
[NumPy] 배열 차원 추가하며 결합하기: np.stack() 사용 및 설명
[NumPy] 배열 분할하기: np.split() 함수 사용 및 설명
[NumPy] 배열 이어 붙이기: np.concatenate() 사용 및 설명
[NumPy] 배열 전치 및 축 변환: np.transpose() 사용 및 설명
[NumPy] 배열 형태 변경: np.reshape() 사용 및 설명
[NumPy] 구간을 일정 간격으로 나누기: np.linspace() 사용 및 설명
[NumPy] 숫자 배열 생성하기: np.arange() 사용 및 설명
[NumPy] 빈 배열 생성하기: np.empty() 사용 및 설명
[NumPy] 1로 초기화된 배열 생성: np.ones() 사용 및 설명
'함수 설명 > 기본 및 범용' 카테고리의 다른 글
[NumPy] 배열 수평으로 쌓기: np.hstack() 사용 및 설명 (0) | 2024.10.01 |
---|---|
[NumPy] 배열 수직으로 쌓기: np.vstack() 사용 및 설명 (0) | 2024.10.01 |
[NumPy] 배열 분할하기: np.split() 함수 사용 및 설명 (1) | 2024.10.01 |
[NumPy] 배열 이어 붙이기: np.concatenate() 사용 및 설명 (0) | 2024.10.01 |
[NumPy] 배열 전치 및 축 변환: np.transpose() 사용 및 설명 (0) | 2024.10.01 |