我有一个形状为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
。
答案 0 :(得分:19)
使用dstack
:
>>> np.dstack((A, B)).shape
(480, 640, 4)
它处理数组具有不同维数的情况,并沿第三轴堆叠数组。
否则,要使用append
或concatenate
,您必须自己制作B
三维,并指定要加入它们的轴:
>>> np.append(A, np.atleast_3d(B), axis=2).shape
(480, 640, 4)