切片索引
python的numpy中的多维数组,有时候需要定位到数组中的某些区域元素的位置。
一维
一维数组很简单,我们可以直接指定索引,或者使用切片索引。
比如: data[0],这时候输出单个具体数值,没有维度
data[:3],这时候输出一个一维的子数组
二维
二维数组也不难理解
data[0,1] 定位一个指定的具体数值,没有维度
data[0,:]定位一维数组
data[:,:] 定位二维数组
三维
三维数组有些难以理解,之前遇到的三维数组有点蒙圈,现在重点理解一下。
比如现在创建一个三维数组
array([[[ 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]]])
data[:,:,1] 会定位输出一个二维数组,具体怎么输出这个二维数组呢,我们把第一列的索引看作第一维,第二列索引看作第二维,第三列索引看作第三维,第三维是个确定的索引,所以我们的第三维数组将会降维的一个具体的值,最后得到的二维数组将会是第一维和第二维组成的一个二维数组。
array([[ 1, 4, 7],
[10, 13, 16],
[19, 22, 25]])
同理data[:,1,1]会定位输出一个一维数组,他的输出是:
array([ 4, 13, 22])
四维
四维和三维类似,具体到哪个维度的索引我们就降维哪一维

被折叠的 条评论
为什么被折叠?



