728x90
NumPy 배열에서 원하는 데이터를 추출하는 방법
NumPy 배열은 Python 리스트처럼 인덱싱과 슬라이싱을 지원한다. 다만, NumPy 배열은 다차원 배열을 지원하므로 데이터를 보다 직관적이고 효율적으로 추출할 수 있다. 인덱싱과 슬라이싱은 데이터를 탐색하고 전처리할 때 매우 유용하다.
1. 인덱싱
import numpy as np
# 10x10 매트릭스 생성
mat = np.arange(0, 100).reshape(10, 10)
# 0번째 행, 1번째 열의 값 접근
print(mat[0, 1]) # 출력: 1
위 코드에서는 2D 배열에서 특정 요소를 추출한다. mat[0, 1]은 첫 번째 행(0)과 두 번째 열(1)에 위치한 값인 1을 반환한다.
2. 슬라이싱
NumPy 배열에서 슬라이싱은 부분 배열을 추출하는 데 유용하다.
1. 특정 열의 모든 값 가져오기: 이 코드는 첫 번째 열(인덱스 1)에 있는 모든 행의 값을 추출한다.
print(mat[:, 1]) # 출력: [ 1 11 21 31 41 51 61 71 81 91]
2. 특정 행의 모든 값 가져오기: 이 코드는 세 번째 행(인덱스 2)의 모든 열 값을 추출한다.
print(mat[2, :]) # 출력: [20 21 22 23 24 25 26 27 28 29]
3. 서브 매트릭스 추출하기: 위 코드는 3x3 크기의 서브 매트릭스를 원본 매트릭스에서 왼쪽 상단 구석을 기준으로 추출한다. 0:3은 첫 3개의 행, 0:3은 첫 3개의 열을 의미한다.
print(mat[0:3, 0:3]) # 출력:
# [[ 0 1 2]
# [10 11 12]
# [20 21 22]]
반응형
'Programming (프로그래밍) > Python' 카테고리의 다른 글
[NumPy] NumPy 배열의 모양 변경하기 (Reshaping) (0) | 2025.01.28 |
---|---|
[NumPy] 배열의 유용한 메서드 (0) | 2025.01.24 |
[NumPy] NumPy에서 랜덤 숫자 생성하기 (0) | 2025.01.23 |
[NumPy] NumPy로 배열을 생성하는 방법 (0) | 2025.01.22 |
[NumPy] Python 리스트와 NumPy 배열의 차이점 (0) | 2025.01.21 |