ndarray의 데이터 선택 방법 정리
인덱싱 종류 | 설명 |
---|---|
특정 위치의 단일값 추출 | 원하는 위치의 인덱스 값을 지정하면 그 위치의 데이터 하나가 반환된다. 예: arr[2] → 2번 인덱스 값 하나 가져오기 |
슬라이싱(Slicing) | 연속된 범위의 인덱스들을 추출하는 방법. : 기호를 사용해서 시작:끝 지정. 끝은 포함하지 않는다. 예: arr[0:3] → 0, 1, 2 인덱스 값 가져오기 |
팬시 인덱싱(Fancy Indexing) | 여러 개의 원하는 인덱스를 리스트나 배열 형태로 한 번에 지정해 가져오는 방법. 띄엄띄엄 가져올 수 있다. 예: arr[[0, 2, 4]] → 0, 2, 4번째 값 가져오기 |
불린 인덱싱(Boolean Indexing) | 조건을 주고 그 조건을 만족하는 값들만 가져오는 방법. 조건 결과(True/False)를 이용해서 True인 인덱스만 추출한다. 예: arr[arr > 3] → 3보다 큰 값들만 가져오기 |
팬시 인덱싱(Fancy Indexing) 추가 설명
- 한 번에 여러 인덱스를 선택할 때 사용.
- 리스트나 배열 형태로 인덱스 번호를 넣는다.
예제
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
# 팬시 인덱싱
result = arr[[0, 2, 4]]
print(result)
출력:
[10 30 50]
→ 0번, 2번, 4번 인덱스의 값만 한 번에 가져옴.
슬라이싱 vs 팬시 인덱싱 차이
구분 | 슬라이싱 | 팬시 인덱싱 |
---|---|---|
방식 | 연속된 범위 (: 사용) |
여러 개의 인덱스를 리스트/배열로 지정 |
예시 | arr[1:4] → 1,2,3번 가져옴 |
arr[[1,3,4]] → 1,3,4번만 가져옴 |
특징 | 시작~끝-1까지 | 자유롭게 원하는 인덱스만 |