해당 포스트에서는 Python 수치 연산에 많이 사용되는 NumPy 인덱싱 4가지 방법을 설명합니다.
INTRO
데이터 과학에서 NumPy는 수치 계산을 위해 Python에서 널리 사용되는 라이브러리입니다. NumPy는 대용량 데이터 세트로 빠른 계산을 수행할 수 있어 데이터 과학자들 사이에서 인기가 높은 편이며, 배열에서 특정 데이터를 추출하기 위해서는 NumPy 배열 인덱싱 방법을 아는 것이 중요합니다. 특정 데이터 추출, 슬라이싱, 팬시 인덱싱 및 부울 인덱싱을 포함하여 NumPy를 인덱싱하는 다양한 방법이 있습니다.
아래에서는 NumPy 배열을 인덱싱하는 네 가지 방법을 예시와 함께 설명합니다.
목차
- 특정 데이터만 추출
- 슬라이싱(Slicing)
- 팬시 인덱싱(Fancy Indexing)
- 불린 인덱싱(Boolean Indexing)
1. 특정 데이터 추출
특정 데이터 추출은 NumPy 배열을 인덱싱하는 가장 간단하고 직접적인 방법 중 하나입니다.
아래 예제에는 5개의 요소가 있는 a
라는 배열이 있습니다. 인덱스 값을 3으로 지정하여 배열의 네 번째 위치에서 데이터를 추출합니다. 그러면 출력 40이 반환됩니다.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[3])
40
2. 슬라이싱
슬라이싱은
아래 예제에서는 배열 a
를 인덱스 위치 1에서 4로 슬라이스하여 출력 [20 30 40]
을 반환합니다. 여기서 시작 인덱스는 1, 정지 인덱스는 4이고 단계 값이 지정되지 않았으므로 기본값은 1입니다.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[1:4])
[20 30 40]
3. 팬시(Fancy) 인덱싱
팬시(Fancy) 인덱싱은
아래 예제에는 5개의 요소가 있는 배열 a
가 있습니다. 배열 a
에서 추출하려는 인덱스를 지정하는 목록 "인덱스"를 만듭니다. "인덱스" 목록을 매개변수로 사용하여 목록에 지정된 위치에서 데이터를 추출합니다. 이렇게 하면 출력 [20 40 50]
이 반환됩니다.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
index = [1, 3, 4]
print(a[index])
[20 40 50]
4. 불린(Boolean) 인덱싱
부울 인덱싱은 NumPy 배열을 인덱싱하는 또 다른 강력한 방법입니다. True
에 해당하는 인덱스 위치에서 데이터의 ndarray를 반환
아래 예제에는 5개의 요소가 있는 배열 a
가 있습니다. 배열의 각 요소에 대한 True
/False
값을 지정하는 목록 "마스크"를 만듭니다. "마스크" 목록을 매개변수로 사용하여 True
에 해당하는 인덱스 위치의 데이터를 추출합니다. 이렇게 하면 출력 [10 30 50]
이 반환됩니다.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
mask = [True, False, True, False, True]
print(a[mask])
[10 30 50]
결론
이번 포스트에서 설명한 NumPy 데이터 추출 방법들은 Python에서 매우 유용하게 사용되며, 데이터 분석 및 처리 작업에서 필수적인 기술입니다. 데이터를 효율적으로 추출하여 분석할 수 있도록 위 방법들을 숙지하고 적절히 활용하는 것이 중요합니다.
관련 링크
[1] [Python] 문자열 리스트에서 특정 변수 제거/추가 후 출력하기
[2] [Python] 문자열 튜플(tuple) 내 특정 단어 빈도 카운트
[3] [Python] numList 변수에서 숫자 정수 13 개수 세기