Python 3.x
我有一个for循环,它正在进行一些计算并创建一个Slice / 2D数组,每次迭代说(x = 3,y = 3),我想同时在同一for循环中(追加?/堆栈)他们在第三维。
我一直在尝试使用Numpy堆栈,vstack,hstack和dstack,但是我仍然不知道如何在第3维上将它们组合在一起。
所以我想在他们身上这样结束:
(z = 10,x = 3,y = 3)
array([ [[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[2., 2., 2.],
[2., 2., 2.],
[2., 2., 2.]],
.
.
.
])
谢谢
答案 0 :(得分:0)
您可以这样做
arrays = []
for i in range(5):
arr = np.full((3,3), i)
arrays.append(arr)
np.asarray(arrays)
如果愿意,可以在循环内执行np.asarray(arrays)。但这不是很有效。并不是说np.concatenate
也会有效地创建新的numpy数组,因此效率将相似。最好在循环外执行一次这些操作