用numpy将矩阵添加到n维数组中

时间:2016-03-20 14:44:47

标签: python numpy

也许是一个简单的问题,但我正在使用numpy,并迭代生成9x9x9矩阵。

我想堆叠这些,所以我最终得到了Nx9x9x9,但是使用append,stack和stack它似乎是向量化其中一个维度而不是将它们作为单独的对象添加。我有什么想法可以做到这一点?

谢谢

1 个答案:

答案 0 :(得分:2)

可以使用COUNT()解决此问题,但要将其设置为您希望首先添加另一个维度(空白)的形状。否则,您将堆叠当前的第一维:

np.vstack

或者如果您创建数组,则按以下方式添加另一个维度:

import numpy as np
a = np.ones((1,2,2,2))
print(a.shape) # (1, 2, 2, 2)

然后将它们堆叠起来,你可以使用:

a = np.ones((2,2,2))
a = a[None, :]  # Adds an dimension as first

你说你是迭代地创建它们但是如果你最后只需要最终结果,你甚至不需要使用b = np.vstack([a,a]) print(b.shape) # (2, 2, 2, 2) c = np.vstack([b,a]) print(c.shape) # (3, 2, 2, 2) c.shape 来创建一个新数组:

vstack