본문 바로가기
numpy

[Python] numpy 배열을 활용한 인덱싱(Indexing)과 슬라이싱(Slicing)

by Sixty Hertz 2020. 2. 20.

[ numpy 배열을 활용한 인덱싱(Indexing)]

 

인덱싱(Indexing)

 

numpy를 활용해 배열을 생성하면 원하는 값을 호출하기 위해 인덱싱을 사용합니다.

배열의 원하는 부분만 골라서 호출하기 위함이지요.

 

먼저 간단한 인덱싱 방법부터 살펴보겠습니다.

import numpy as np

a = np.arange(15)            # 0부터 14까지 배열생성
print(a[0], a[5], a[12])     # 0번째, 5번째, 12번째 배열값 출력
0 5 12

0부터 14까지 정수를 배열에 입력한 뒤 그 중 0번째, 5번째, 12번째 배열값을 출력하는 코드입니다.

 

2차원 배열의 경우는 아래와 같습니다. 다차원 배열도 같은 방식으로 인덱싱이 가능합니다.

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

 

배열의 연속값을 출력하는 경우 아래와 같은 방법도 있습니다.

print(a[::2])   # 배열의 키값을 2만큼 간격을 가지고 추출 (0번째, 2번째, 4번째...)
[ 0  2  4  6  8 10 12 14]

 

 

슬라이싱(Slicing)

 

슬라이싱은 인덱싱과 비슷한데 배열의 일부를 떼어와서 호출하는 것을 말합니다.

기본적인 호출방법은 아래와 같습니다.

a = np.arange(12)
print(a[7:12])      # 배열의 7번째부터 11번째 값을 호출
[ 7  8  9 10 11]

 

이외에도 다양한 호출방식이 있는데 아래 그림을 보면 더욱 이해가 쉬울 것 같습니다.

numpy 배열의 슬라이싱 (출처 : scipy lecturenote)

'numpy' 카테고리의 다른 글

파이썬 numpy 배열 생성하기  (0) 2020.02.20
[Python] numpy(넘파이)가 무엇인가요?  (0) 2020.02.20

댓글