我有一个3D数组,a形状说a.shape = (10, 10, 10)
a
a.shape = (10, 10, 10)
切片时,尺寸squeezed自动
squeezed
a[:,:,5].shape = (10, 10)
我想保留尺寸的数量, 但也要确保压缩的尺寸是显示1的尺寸, 即
a[:,:,5].shape = (10, 10, 1)
我曾考虑过重新铸造数组并传递,ndmin但这只是将额外的维添加到形状元组的开头,而不管切片来自数组的何处a。
ndmin
a[:,:,[5]].shape # (10,10,1)
a[:,:,5]是基本切片的一个例子。
a[:,:,5]
a[:,:,[5]]是整数数组索引的一个示例-与基本切片结合在一起。使用整数数组索引时,结果形状始终“与(广播的)索引数组形状相同”。由于[5](作为数组)具有shape (1,),因此 a[:,:,[5]]最终具有shape (10,10,1)。
a[:,:,[5]]
[5]
(1,)
(10,10,1)