[파이썬][numpy] numpy에서 인덱싱 기법

numpy는 파이썬에서 과학 계산을 위한 핵심 라이브러리로, 다차원 배열과 행렬 연산을 할 수 있는 강력한 도구입니다. numpy의 인덱싱 기법은 배열의 요소에 접근하여 값을 가져오거나 변경하는 데 사용됩니다. 이번 블로그 포스트에서는 numpy에서 사용되는 다양한 인덱싱 기법에 대해 알아보겠습니다.

1. 기본 인덱싱

numpy 배열은 0부터 시작하는 인덱스를 사용하여 요소에 접근할 수 있습니다. 기본적인 인덱싱은 파이썬 리스트와 유사한 방식으로 동작합니다.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[0])  # 1
print(arr[4])  # 5

2. 슬라이싱

슬라이싱은 배열의 일부분을 추출하는 방법입니다. 파이썬 리스트와 마찬가지로 시작 인덱스와 끝 인덱스, 그리고 스텝 값을 지정하여 슬라이싱할 수 있습니다.

arr = np.array([1, 2, 3, 4, 5])
print(arr[:3])    # [1 2 3]
print(arr[2:])    # [3 4 5]
print(arr[1:4:2]) # [2 4]

3. 정수 배열 인덱싱

정수 배열 인덱싱은 배열의 요소에 접근하기 위해 정수 배열을 사용하는 방법입니다. 정수 배열을 인덱스로 사용하면 원하는 순서로 배열의 요소에 접근할 수 있습니다.

arr = np.array([1, 2, 3, 4, 5])
index = np.array([1, 3, 4])
print(arr[index])   # [2 4 5]

4. 부울 배열 인덱싱

부울 배열 인덱싱은 배열의 요소에 접근하기 위해 부울 값을 사용하는 방법입니다. 부울 배열은 배열의 요소를 선택하기 위한 마스크로 사용될 수 있습니다.

arr = np.array([1, 2, 3, 4, 5])
mask = np.array([False, True, True, False, True])
print(arr[mask])    # [2 3 5]

numpy에서 제공하는 인덱싱 기법은 이 외에도 다양한 기능을 제공합니다. 이 포스트에서는 numpy 인덱싱의 기본적인 개념과 예제를 소개했지만, numpy의 고급 인덱싱 기법에 대해서는 추가적인 학습이 필요할 수 있습니다. numpy 문서와 예제를 통해 더욱 심층적인 이해를 할 수 있도록 노력해보세요.

numpy는 데이터 분석, 과학 연구, 머신 러닝 등 다양한 분야에서 사용되는 강력한 라이브러리입니다. 인덱싱 기법을 제대로 활용하면 데이터 처리와 분석 작업이 더욱 효율적으로 수행될 수 있습니다.

참고 자료: