numpy에서 사용되는 인덱싱은 기본적으로 python 인덱싱과 동일하다.
이때, python에서와 같이 1번째로 시작하는 것이 아닌 0번째로 시작하는 것에 주의하자.
np_arr1=np.arange(10)
np_arr1
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
넘파이 배열을 생성했으니 반복문을 써서 처음부터 끝까지 인덱스를 호출해보자.
for index in range(len(np_arr1)):
print(np_arr1[index], np_arr1)
0 [0 1 2 3 4 5 6 7 8 9]
1 [0 1 2 3 4 5 6 7 8 9]
2 [0 1 2 3 4 5 6 7 8 9]
3 [0 1 2 3 4 5 6 7 8 9]
4 [0 1 2 3 4 5 6 7 8 9]
5 [0 1 2 3 4 5 6 7 8 9]
6 [0 1 2 3 4 5 6 7 8 9]
7 [0 1 2 3 4 5 6 7 8 9]
8 [0 1 2 3 4 5 6 7 8 9]
9 [0 1 2 3 4 5 6 7 8 9]
직접 인덱스를 슬라이싱해보자.
np_arr1[3:5]
array([3, 4])
지정 인덱스부터 ':' 끝날 인덱스 라고 생각하는게 ':' 와 관련해서는 이해하기 좋다.
np_arr1[:]
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
단순히 ':' 만 적는다면 전체를 출력해준다.
여기서 주의할점은 이는 1차원 배열에서 사용되는 법이다.
2차원 배열일때를 살펴보자.
np_arr2=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
np_arr2
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
np_arr2[0,1]
2
np_arr2[2,:]
array([ 9, 10, 11, 12])
np_arr2[2,2]
11
다음과 같이 2차원 배열에서 인덱싱을 하기 위해서는 2개의 인자를 입력해야 한다.
'Data analysis > Numpy' 카테고리의 다른 글
6. Numpy 함수 (0) | 2021.03.19 |
---|---|
5. Array boolean 인덱싱(마스크) (0) | 2021.03.19 |
3. Array 연산 (0) | 2021.03.19 |
2. zeros(),ones(),arange() 함수 (0) | 2021.03.19 |
1.Numpy란? (0) | 2021.03.19 |