我有一个多维数组 a:
a = np.random.uniform(1,10,(2,4,2,3,10,10))
对于维度 4-6,我有 3 个列表,其中包含用于切片数组“a”的该维度的索引
dim4 = [0,2]
dim5 = [3,5,9]
dim6 = [1,2,7,8]
如何切出数组“a”以便我得到:
b = a[0,:,0,dim4,dim5,dim6]
因此 b 应该是一个形状为 (4,2,3,4) 的数组,并且包含 a 相应维度的元素。当我尝试上面的代码时,我收到一条错误消息,指出轴 4-6 无法一起广播不同的形状,但如果我这样做:
b = a[0,:,0:2,0:3,0:4]
那么它确实有效,即使切片列表都有不同的长度。那么如何对具有非相邻索引的多维数组进行切片呢?