如何在不展平的情况下沿新轴或维度附加numpy数组

如果给出的列表或numpy数组的尺寸和长度与

lista = [5,2,5,...]
listb = [5,1,8,...]
listc = [1,7,8,...]
listd = [1,0,5,...]
liste = [1,2,1,...]
listf = [9,1,8,...]

如何获得带有拳头索引分组并放入多维数组的输出的多维数组?

resulting_list = [[[5,2,5,...], [5,1,8,...]],
                  [[1,7,8,...], [1,0,5,...], [1,2,1,...]],
                  [[9,1,8,...]]]

我对此的解决方案是for循环,但是我基本上没有成功,使用numpy.append,numpy.concatenate,numpy.vstack等都没有成功。

这是我的示例解决方案之一,应该注意的是,列表始终最初与数组中单个堆栈中的第一个索引分组在一起(但不一定按不需要的顺序排列)。

#Data
lista = np.array([5,2,5])
listb = np.array([5,1,8])
listc = np.array([1,7,8])
listd = np.array([1,0,5])
liste = np.array([1,2,1])
listf = np.array([9,1,8])

list_index = np.vstack((lista, listb, listc, listd, liste, listf))

result_list = lista

for i in range(4):
    if list_index[i][0] == list_index[i+1][0]:
       result_list = np.append(result_list, list_index[i+1], axis=0)
    else:
        result_list = np.append(result_list, list_index[i+1], axis=1)

AxisError: axis 1 is out of bounds for array of dimension 1

通常,我在将这些列表附加到新尺寸或沿特定轴的问题上。

评论