创建空的 3D numpy 数组并将其附加到每个新的给定值

hlz*_*lzl 0 python arrays numpy

我觉得必须有一个简单的解决方案,但我对 Numpy 还不太熟悉,并且在库中找不到符合我需要的任何内容。我觉得这是一件显而易见的事情,但我在 StackOverflow 上找不到任何类似的问题。

基本上,我想创建一个 3 维数组。我想这样的:matrix = np.array(None, ndmin=3)。现在每次我有一个新变量时,我都想用变量的新值附加我选择的矩阵的一个维度。我怎样才能做到这一点?我玩过np.append()np.insert()但我无法找到解决方案。

Ore*_*ell 8

数组具有固定大小。你不能附加到它们。如果您知道数组的上限,则可以使用

np.empty((10, 10, 10))
Run Code Online (Sandbox Code Playgroud)

对于 10x10x10 矩阵。然后,您可以保留 3 个索引 x,y,z 来跟踪您拥有的实际大小。例如,添加一个新元素:

matrix[x,y,z] = newElement
x += 1
Run Code Online (Sandbox Code Playgroud)

然后当你完成后,你可以提取子矩阵

finalMatrix = matrix[:x,:y,:z]
Run Code Online (Sandbox Code Playgroud)