8

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

切片时,尺寸squeezed自动即

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

我想保留维度的数量,但也要确保被挤压的维度是显示 1 的维度,

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

我曾考虑过重新转换数组并传递ndmin,但这只是将额外的维度添加到形状元组的开头,而不管切片来自数组中的哪个位置a

4

1 回答 1

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

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

a[:,:,[5]]整数数组索引的一个例子——结合基本切片。当使用整数数组索引时,结果形状总是“与(广播)索引数组形状相同”。由于[5](作为数组)具有 shape (1,)a[:,:,[5]]最终具有 shape (10,10,1)

于 2010-04-14T18:54:10.243 回答