假设我有三个数组
k = np.array([[1,1],[2,2]])
m = np.array([[3,3],[4,4]])
n = np.array([[5,5],[6,6]])
理想情况下,我希望获得一个形状(3,2,2)的最终数组,即
array([[[1, 1],
[2, 2]],
[[3, 3],
[4, 4]]
[[5, 5],
[6, 6]]])
所以我做了
l = np.stack((k,m), axis=0)
并得到一个数组
array([[[1, 1],
[2, 2]],
[[3, 3],
[4, 4]]])
大小(2,2,2)。但是,当我试图追加/堆叠n数组时,我总是得到错误维度的错误。我可以做np.dstack,但那并没有给我我想要的东西。任何有关这方面的帮助将非常感激。谢谢。
答案 0 :(得分:1)
为了完整起见并关闭这个问题,Akavall和f5r5e5d建议的答案都是有效的解决方案。
# Akavall's solution
np.stack((k, m, n), axis=0)
# f5r5e5d's solution
np.array([k,m,n])
# my approach
In [38]: np.concatenate((k[None, :, :], m[None, :, :], n[None, :, :]))
Out[38]:
array([[[1, 1],
[2, 2]],
[[3, 3],
[4, 4]],
[[5, 5],
[6, 6]]])