先看一个例子:
a = np.array([[[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]],
])
print(a.shape)
print('a:n', a)
输出:
a.shape:(3, 3, 4) a: [[[ 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]]]
下面进行切片:
case1:
a[:, -1, :]
此语句的含义:第一个 ‘ : ’ 指的是a.shape(3, 3, 4)的第一维所有数据都保留,
‘ -1 ’指的是只保留a.shape(3, 3, 4)第二维的最后一个数据,即每一个小分块的最后一行,
‘ :’指的是保留a.shape(3, 3, 4)第三维的所有数据,即保留每一个小分块的所有列
看下运行结果:
a[:, -1, :]: [[ 9 10 11 12] [21 22 23 24] [33 34 35 36]]
case2:
同理,下面语句是取a的 第一维的最后一行,第二维的最后一行,第三维的所有列
a[-1, -1, :]: [33 34 35 36]



