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"