索引与切片数组

NumPy 入门

Izzy Weber

Core Curriculum Manager, DataCamp

索引 1D 数组

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

索引 2D 中的元素

一个数独游戏,在第3行第5列选中一个数字

 

 

sudoku_game[2, 4]
6
NumPy 入门

索引 2D 的行

一个数独游戏,选中第一行

 

 

sudoku_game[0]
array([0, 0, 4, 3, 0, 0, 2, 0, 9])
NumPy 入门

索引 2D 的列

一个数独游戏,选中第4列

 

 

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 数组

一个数独游戏,中间九宫被选中——第4到6列与第4到6行

 

 

sudoku_game[3:6, 3:6]
array([[0, 0, 2],
       [0, 0, 7],
       [0, 8, 3]])
NumPy 入门

按步长切片

一个数独游戏,仅选中中间九宫的四个角

 

 

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 入门

轴的顺序

 

图示:轴 0 沿行方向,轴 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 入门

Passons à la pratique !

NumPy 入门

Preparing Video For Download...