3-4. numpy_indexing&slicing
indexing
1. index
- 리스트나 배열에서 몇번째 자리인지를 나타내는 값
- 0번 부터 시작
2. indexing
- index 를 이용해서 그 자리의 값을 받아오는 과정
- 파이썬 리스트와 비슷
2-1. 숫자로 indexing
import numpy as np
array1 = np.array ([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31])
array1 [0] #인덱싱하여 0번째 자리의 값을 불러옴
array1 [2] #인덱싱하여 2번째 자리의 값을 불러옴
array1 [-1] #'-1' 은 마지막 인덱스
array1 [-2] #'-2' 는 끝에서 두번째 인덱스
- 출력 : 2
- 출력 : 5
- 출력 : 31
- 출력 : 29
2-2. 리스트로 indexing
array1 [ [1, 3, 4] ]
- 출력 : array ( [ 3, 7, 11] )
[코드설명]
- 배열 'array1' 에서 1번 인덱스인 '3' 을, 3번 인덱스인 '7' 을, 4번 인덱스인 '11' 을 불러온다.
2-3. numpy array 로 리스트 indexing
array2 = np.array ( [ 2, 1, 3 ] )
array1 [array2] #array1 을 array2 로 인덱싱
#즉, array2 의 2, 1, 3 자리에 위치한 값을 통해 array1 에서 인덱싱
- 출력 : array ( [ 5, 3, 7 ] )
List Slicing
1. Slicing
- 2번 인덱스 값부터 6번 인덱스 값까지 slice
array1 [2:7]
- 출력 : array ( [ 5, 7, 11, 13, 17 ] )
2. 처음부터 slicing
2-1.
array1 [0:7]
2-2.
array1 [ :7]
- 출력 : array ( [ 2, 3, 5, 7, 11, 13, 17] )
3. 거꾸로 slicing
array1 [2: ]
- 출력 : array ( [ 5, 7, 11, 13, 17, 19, 23, 29, 31] )
4. 하나씩 건너뛰면서 slicing
array1 [2:11:2]
- 출력 : array ( [ 5, 11, 17, 23, 31 ] )
[코드설명]
- 2부터 10번까지의 값을 slicing
- [ : : 2 ] 플러스 조건으로 하나씩 건너뛴 값을 출력하려고 한다.
- 두개씩 건너뛰고 싶다면 [ : : 3]