1、切片
- 一维切片
- array = np.arange(10)
array[2:5]
- array = np.arange(10)
- 二维切片
- 三维切片
- numpy高级索引:
- 数组索引
- #如果索引数组具有匹配的形状,并且索引数组的每个维度都有一个索引数组,则结果数组具有与索引数组相同的形状,并且值对应于每个索引的索引集在索引数组中的位置。
- y = x[[5,1,2], [0,1,0]] #->(5,0)(1,1)(2,0)
- 剩余轴索引,b[i,...],三个点( ... )表示产生完整索引元组所需的冒号:
- x[1,2,...] 相当于 x[1,2,:,:,:],
- x[...,3] 等效于 x[:,:,:,:,3]
- x[4,...,5,:] 等效于 x[4,:,:,5,:]。
布尔索引:
给一个条件,对元素进行筛选。
- 索引数组与切片组合
- 布尔数组与切片组合
a = np.arange(12).reshape(3,4)
print('a',a)
b1 = np.array([False,True,True]) # first dim selection
b2 = np.array([True,False,True,False]) # second dim selection
a [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]
a[b1,:]
array([[ 4, 5, 6, 7], [ 8, 9, 10, 11]])
a[:,b2]
array([[ 0, 2], [ 4, 6], [ 8, 10]])
True代表有,False代表无