Skip to content Skip to sidebar Skip to footer

Append 2d Array To 3d Array, Extending Third Dimension

I have an array A that has shape (480, 640, 3), and an array B with shape (480, 640). How can I append these two as one array with shape (480, 640, 4)? I tried np.append(A,B) but

Solution 1:

Use dstack:

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

This handles the cases where the arrays have different numbers of dimensions and stacks the arrays along the third axis.

Otherwise, to use append or concatenate, you'll have to make B three dimensional yourself and specify the axis you want to join them on:

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

Solution 2:

using np.stack should work but the catch is both arrays should be of 2D form.

np.stack([A,B])

Post a Comment for "Append 2d Array To 3d Array, Extending Third Dimension"