[파이썬][numpy] numpy에서 배열 슬라이싱 및 인덱싱

파이썬에서 배열을 다루는 라이브러리인 numpy는 데이터 분석 및 과학 계산에 필수적인 도구입니다. numpy는 다차원 배열을 효율적으로 다루고 조작할 수 있는 다양한 함수와 기능을 제공합니다. 이 중에서 배열의 일부를 선택하여 추출하거나 수정하는 것은 매우 중요한 작업입니다. 이를 위해 numpy에서 제공하는 배열 슬라이싱(slice)과 인덱싱(indexing)을 활용할 수 있습니다.

배열 슬라이싱(Slicing)

배열 슬라이싱은 배열의 일부를 선택하여 추출하는 방법입니다. numpy에서는 :를 사용하여 슬라이싱을 수행합니다. 슬라이싱은 주어진 범위 내에서 원하는 데이터를 추출하는 기능을 제공합니다. 예를 들어, 1부터 10까지의 범위에서 2씩 증가하는 배열을 생성하고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

import numpy as np

arr = np.arange(1, 11, 2)
print(arr)

이렇게 하면 [1, 3, 5, 7, 9]라는 배열이 생성됩니다. 슬라이싱은 범위 내에서의 시작 인덱스와 끝 인덱스를 지정할 수 있습니다. 시작 인덱스는 포함되며, 끝 인덱스는 포함되지 않습니다.

배열 인덱싱(Indexing)

배열 인덱싱은 배열에서 원하는 위치의 데이터를 선택하는 방법입니다. numpy 배열은 0부터 시작하는 인덱스를 갖고 있으며, 이를 사용하여 데이터를 선택할 수 있습니다. 예를 들어, 다음과 같은 배열이 있다고 가정해봅시다.

import numpy as np

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

이 배열에서 인덱스 2의 데이터를 선택하려면 다음과 같이 코드를 작성할 수 있습니다.

selected_value = arr[2]
print(selected_value)

출력 결과는 3입니다. 인덱싱은 배열의 특정 위치에 있는 데이터를 선택하는 것으로, 슬라이싱과 달리 범위를 지정하지 않고 특정 인덱스만 선택합니다.


numpy를 사용하여 데이터를 다루는 과정에서 배열의 슬라이싱과 인덱싱은 매우 중요한 작업입니다. 이를 통해 우리는 원하는 부분의 데이터를 추출하고, 필요한 값을 선택하여 배열을 조작할 수 있습니다. numpy는 이러한 작업을 위한 다양한 기능과 함수를 제공하므로, 이를 잘 활용하는 것이 데이터 분석 및 과학 계산 작업의 효율성과 정확성을 높이는데 도움이 될 것입니다.