본문 바로가기
AI/[TEAMLAB]Numpy 사용법

[TEAMLAB] 3 - 4. Indexing & Slicing

by 쵸빙 2020. 1. 20.

     저번 시간에 이어서 numpy의 indexing과 slicing에 대해서 배우도록 하겠다.

 

indexing

     Indexing은 matrix를 기준으로 했을 때 앞은 행, 뒤는 열로 표현하는 것이다.

list에서 indexing은 [1][2]의 형태이지만 numpy에서는 [1, 2] 이런 형태이다.

index가 넘어가면 index error가 뜨게 된다.

 

Slicing

     다음으로 slicing에 대해 알아보겠다. 부분을 잘라내는 것이다. list와 달리 행과 열의 부분을 나눌 수 있다.

여기서 중요한 점은 1:3이라면 1~2까지라는 것이다. 처음 시작은 포함하지만 끝은 포함하지 않는다는 것을 주의하자.

 

행 값을 지정하지 않았을 경우

     만약 위와 같이 행 범위를 지정하지 않았을 경우에는 전체 범위로 판단한다.

 

     위와 같이 , 없이 단 하나만 나온 경우에는 맨 앞, 즉 여기서는 행으로 인식한다. 여기서 주의할 점은 1 : 3이면 범위를 넘어가는데 범위를 넘어가는 것은 제외하고 여기서는 1만 알아서 출력한다는 것이다.

 

      마지막으로 정리해보자. 행은 0~1, 열은 전체를 출력하는 모습이다.

 

   

     위와 같은 예시도 주의해서 생각해보자. 첫번째 예시의 첫번째는 row 전체, 시작점:끝점:step(한 번에 몇개씩 갈 것인지)이므로 두번째는 column에서 처음부터 끝까지 2칸씩 띄어서 고른다는 뜻이다.

두번째 예시에서는 row의 처음부터 끝까지 2칸씩 띄어서, column에서는 처음부터 끝까지 3칸씩 띄어서 출력한다는 뜻이다. 별로 쓸 일이 없을지도 모르지만 가능하다는 정도만 알아놓자.

 

다음 시간에는 function을 create하는 방법에 대해 알아보도록 하겠다.