我觉得必须有一个简单的解决方案,但我对Numpy还不太熟悉,在图书馆找不到符合我需求的任何东西。我觉得这是显而易见的事情,但我在StackOverflow上找不到任何类似的问题。
基本上,我想创建一个三维空数组。我试过这样的话:matrix = np.array(None, ndmin=3)
。现在,每当我有一个新变量时,我想要附加一个矩阵的维度,我选择了变量的新值。我怎样才能做到这一点?我和np.append()
和np.insert()
一起玩,但我无法找到解决方案。
答案 0 :(得分:2)
数组具有固定大小。你不能追加他们。如果您知道数组的上限,则可以使用
预先分配数组np.empty((10, 10, 10))
对于10x10x10矩阵。然后,您可以保留3个索引x,y,z来跟踪您的实际大小。例如,添加一个新元素:
matrix[x,y,z] = newElement
x += 1
然后,当你完成后,你可以用
提取子矩阵finalMatrix = matrix[:x,:y,:z]
答案 1 :(得分:0)
您可以使用np.empty((x,y,z))
你可以在这个答案中找到一个很好的解释: How to create 3 dimensions matrix in numpy , like matlab a(:,:,:)