繁体   English   中英

将 2D 数组附加到 3D 数组,扩展第三维

[英]Append 2D array to 3D array, extending third dimension

我有一个数组A具有形状(480, 640, 3)和阵列B具有形状(480, 640)

如何将这两个附加为一个形状为(480, 640, 4)数组?

我试过np.append(A,B)但它没有保留维度,而axis选项导致ValueError: all the input arrays must have same number of dimensions

使用dstack

>>> np.dstack((A, B)).shape
(480, 640, 4)

这将处理数组具有不同维数的情况,并沿第三轴堆叠数组。

否则,要使用appendconcatenate ,您必须自己制作三维B并指定要加入它们的轴:

>>> np.append(A, np.atleast_3d(B), axis=2).shape
(480, 640, 4)

使用np.stack应该可以工作,但问题是两个数组都应该是 2D 形式。

np.stack([A,B])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM