numpy 的切片

numpy的数组操作中,常常会用到切片处理,一般朋友在学习过程中,很多教程会以二维数组取行或列来举例,但是遇到更多维度的数组如何取值呢?
下面对数组的切片进行详细的解释:
首先上个例子:

#创建一个三维数组
a = np.arange(60).reshape(3,4,5)
#展示一下a的结构
----------------------------------------------
[[[ 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]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]]

[[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]]]
----------------------------------------------
#取shape中最外层维度的数据,可以使用a[n,:,:],n为索引如
a[1,:,:]
>>>[[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]]
#取任意层维度的数据,即在对应的位置取对应的索引即可
a[:,1,:]
>>>[[ 5 6 7 8 9]
[25 26 27 28 29]
[45 46 47 48 49]]

a[:,:,1]
>>>[[ 1 6 11 16]
[21 26 31 36]
[41 46 51 56]]
://blog.csdn.net/xinxuyang123/java/article/details/83990080

猜你喜欢

转载自www.cnblogs.com/vincent-sh/p/12730509.html