依据Datawhale的Numpy教程做相应整理
索引与切片
切片索引
切片语法:(start:stop:step)
注意对二维数组的切片操作
在索引内([])通过以逗号分隔的维度执行单独的切片,可对多维数组进行切片操作,相对于二维数组第一片定义了行的切片,第二片定义了列的切片。
#二维数组切片操作
x = np.arange(25).reshape(5,5)
print(x)
'''
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
'''
print(x[0:2])#可以考虑x[0:2]和x[0,2]的区别
'''
[[0 1 2 3 4]
[5 6 7 8 9]]
'''
print(x[:, 2])
'''
[ 2 7 12 17 22]
'''
print(x[1:4,2:4])
'''
[[ 7 8]
[12 13]
[17 18]]
'''
dots索引
语法:使用 … 表示足够多的冒号来构成完整的索引列表。
例如x是5维数组,则
- x[1,2,…] 等于x[1,2,:,:,:]
- x[…,3] 等于x[:,:,:,:,3]
- x[4,…,5,:] 等于x[4,:,:,5,:]
整数数组索引
方括号内传入多个索引值,同时选择多个元素
numpy.take
numpy. take(a, indices, axis=None, out=None, mode=‘raise’)
沿轴从数组中获取元素 , Take elements from an array along an axis.
布尔索引
通过布尔数组去索引目标数组