배열 인덱싱과 슬라이싱

NumPy 소개

Izzy Weber

Core Curriculum Manager, DataCamp

1D 배열 인덱싱

array = np.array([2, 4, 6, 8, 10])
array[3]
8
NumPy 소개

2D 요소 인덱싱

5열 3행의 숫자 하나가 선택된 스도쿠 게임

 

 

sudoku_game[2, 4]
6
NumPy 소개

2D 행 인덱싱

첫 번째 행이 선택된 스도쿠 게임

 

 

sudoku_game[0]
array([0, 0, 4, 3, 0, 0, 2, 0, 9])
NumPy 소개

2D 열 인덱싱

네 번째 열이 선택된 스도쿠 게임

 

 

sudoku_game[:, 3]
array([3, 0, 0, 0, 0, 0, 0, 5, 9])
NumPy 소개

1D 배열 슬라이싱

array = np.array([2, 4, 6, 8, 10])
array[2:4]
array([6,  8])
NumPy 소개

2D 배열 슬라이싱

가운데 9칸(4~6열, 4~6행)이 선택된 스도쿠 게임

 

 

sudoku_game[3:6, 3:6]
array([[0, 0, 2],
       [0, 0, 7],
       [0, 8, 3]])
NumPy 소개

스텝을 이용한 슬라이싱

가운데 9칸의 모서리만 선택된 스도쿠 게임

 

 

sudoku_game[3:6:2, 3:6:2]
array([[0, 2],
       [0, 3]])
NumPy 소개

배열 정렬

정렬 전: 정렬되지 않은 스도쿠 게임

np.sort(sudoku_game)
array([[0, 0, 0, 0, 0, 2, 3, 4, 9],
       [0, 0, 0, 0, 0, 0, 1, 5, 9],
       [0, 0, 0, 0, 0, 3, 4, 6, 7],
       [0, 0, 0, 0, 0, 2, 6, 7, 8],
       [0, 0, 0, 0, 0, 1, 4, 7, 9],
       [0, 0, 0, 0, 0, 0, 3, 5, 8],
       [0, 0, 0, 0, 0, 0, 1, 5, 6],
       [0, 0, 0, 0, 3, 5, 6, 8, 9],
       [0, 0, 0, 0, 1, 2, 3, 4, 9]])
NumPy 소개

축 순서

 

axis 0은 행 방향, axis 1은 열 방향임을 나타내는 그래픽

 

숫자 1이 열처럼 보임을 나타내는 그래픽

NumPy 소개

축 기준 정렬

np.sort(sudoku_game)
array([[0, 0, 0, 0, 0, 2, 3, 4, 9],
       [0, 0, 0, 0, 0, 0, 1, 5, 9],
       [0, 0, 0, 0, 0, 3, 4, 6, 7],
       [0, 0, 0, 0, 0, 2, 6, 7, 8],
       [0, 0, 0, 0, 0, 1, 4, 7, 9],
       [0, 0, 0, 0, 0, 0, 3, 5, 8],
       [0, 0, 0, 0, 0, 0, 1, 5, 6],
       [0, 0, 0, 0, 3, 5, 6, 8, 9],
       [0, 0, 0, 0, 1, 2, 3, 4, 9]])
np.sort(sudoku_game, axis=0)
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 2, 0, 0, 2, 1, 0, 1],
       [0, 4, 3, 0, 0, 3, 2, 0, 3],
       [0, 5, 4, 3, 1, 7, 3, 4, 5],
       [1, 7, 5, 5, 6, 8, 4, 8, 7],
       [6, 9, 6, 9, 8, 9, 6, 9, 9]])
NumPy 소개

연습해 봅시다!

NumPy 소개

Preparing Video For Download...