从Numpy 3d数组中保留切片的尺寸

Bre*_*dan 8 python numpy slice

我有一个3d阵列,a形状说a.shape = (10, 10, 10)

切片时,尺寸是squeezed自动的,即

a[:,:,5].shape = (10, 10)

我想保留的维数,但也保证了该被挤压的尺寸是一个显示1个

a[:,:,5].shape = (10, 10, 1)

我曾想过重新构建数组并传递,ndmin但只是将额外的维度添加到形状元组的开头,而不管切片来自数组的位置a.

unu*_*tbu 13

a[:,:,[5]].shape
# (10,10,1)
Run Code Online (Sandbox Code Playgroud)

a[:,:,5]是一个基本切片的例子.

a[:,:,[5]]整数数组索引的一个例子- 与基本切片相结合.使用整数数组索引时,结果形状始终"与(广播)索引数组形状相同".由于[5](作为阵列)具有形状(1,),因此 a[:,:,[5]]最终具有形状(10,10,1).