데이터사이언스

3-4. numpy_indexing&slicing

유니진 2023. 1. 23. 18:15

 

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]