일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 넘파이 배열
- 기계학습
- ack
- Machine Learning
- numpy 기초
- cpp class
- NumPy
- 넘파이
- 코테
- 합성곱 신경망
- Design Pattern
- 파이썬
- python
- lambda
- 네트워크 기초
- OOP
- 넘파이 기초
- 머신러닝
- java
- 데이터 분석
- 코드트리
- c++
- 클러스터링
- 디자인 패턴
- 코딩테스트
- cpp
- 자바
- 데이터 마이닝
- 차원축소
- 코딩테스트실력진단
- Today
- Total
준비하는 대학생
[NumPy] 인덱싱 본문
넘파이 배열 인덱싱
넘파이 배열에서의 인덱싱은 다음 4가지 방법으로 이루어집니다.
- 단일 값 추출 : 특정한 위치의 데이터 선택
- 슬라이싱(Slicing) : 연속된 인덱스 위치의 데이터 선택
- 팬시 인덱싱(Fancy Indexing) : 인덱스 집합을 리스트형태로 지정하여 데이터 선택
- 불린 인덱싱(Boolean Indexing) : True/False 기반으로 True에 해당하는 인덱스 위치의 데이터 선택
이제 각각의 방법에 대해 자세히 알아보겠습니다.
1. 단일 값 추출
단일 값 추출은 넘파이 배열에서 특정한 위치의 데이터를 선택하는 방법입니다. 이때 대괄호([]) 안에 인덱스를 지정하여 데이터를 선택합니다. 예를 들어, 다음과 같이 1차원 배열에서 단일 값 추출을 수행할 수 있습니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr[2]) # 3
위의 코드에서는 넘파이 배열에서 인덱스 2에 해당하는 데이터를 선택하고 있습니다. 실행 결과는 다음과 같습니다.
3
2. 슬라이싱(Slicing)
슬라이싱(Slicing)은 넘파이 배열에서 연속된 인덱스 위치의 데이터를 선택하는 방법입니다. 이때 대괄호([]) 안에 시작 인덱스와 끝 인덱스를 콜론(:)으로 구분하여 지정합니다. 예를 들어, 다음과 같이 1차원 배열에서 슬라이싱을 수행할 수 있습니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4]) # [2 3 4]
위의 코드에서는 넘파이 배열에서 인덱스 1부터 인덱스 3까지의 데이터를 선택하고 있습니다. 실행 결과는 다음과 같습니다.
[2 3 4]
3. 팬시 인덱싱(Fancy Indexing)
팬시 인덱싱(Fancy Indexing)은 넘파이 배열에서 인덱스 집합을 리스트형태로 지정하여 데이터를 선택하는 방법입니다. 이때 대괄호([]) 안에 리스트로 구성된 인덱스를 지정합니다. 예를 들어, 다음과 같이 1차원 배열에서 팬시 인덱싱을 수행할 수 있습니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
idx = [0, 2, 4]
print(arr[idx]) # [1 3 5]
위의 코드에서는 넘파이 배열에서 인덱스 0, 2, 4에 해당하는 데이터를 선택하고 있습니다. 실행 결과는 다음과 같습니다.
[1 3 5]
4. 불린 인덱싱(Boolean Indexing)
불린 인덱싱(Boolean Indexing)은 넘파이 배열에서 True/False 기반으로 True에 해당하는 인덱스 위치의 데이터를 선택하는 방법입니다. 이때 대괄호([]) 안에 True/False 값을 가지는 넘파이 배열을 지정합니다. 예를 들어, 다음과 같이 1차원 배열에서 불린 인덱싱을 수행할 수 있습니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mask = [True, False, True, False, True]
print(arr[mask]) # [1 3 5]
위의 코드에서는 넘파이 배열에서 인덱스 0, 2, 4에 해당하는 데이터를 선택하고 있습니다. 실행 결과는 다음과 같습니다.
[1 3 5]
결론
넘파이 배열에서의 인덱싱은 단일 값 추출, 슬라이싱, 팬시 인덱싱, 불린 인덱싱으로 이루어집니다. 이를 이용하여 다차원 배열을 다루면, 기존의 파이썬 리스트보다 더욱 효율적인 데이터 처리가 가능합니다.
'Programming > Machine learning' 카테고리의 다른 글
[NumPy] sort 정렬 (0) | 2023.03.15 |
---|---|
[NumPy] unique 함수 (0) | 2023.03.14 |
[NumPy] reshape 함수 (0) | 2023.03.13 |
[python] Numpy 기초 공부(zeros, ones, full) (0) | 2023.03.08 |
[python] Numpy 기초 지식 공부(arange, linspace) (2) | 2023.03.07 |