也许是一个简单的问题,但我正在使用numpy,并迭代生成9x9x9矩阵。
我想堆叠这些,所以我最终得到了Nx9x9x9,但是使用append,stack和stack它似乎是向量化其中一个维度而不是将它们作为单独的对象添加。我有什么想法可以做到这一点?
谢谢
答案 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