How to create or fill an numpy array with another array?
How to create an numpy array with shape [2, 2, 3] , where the elements at axis 2 is another array, for example [1, 2, 3] ? So I would like to do something like this invalid code: a = np.arange(1, 4) b = np.full((3, 3), a) Resulting in an array like: [[[ 1. 2. 3.] [ 1. 2. 3.]] [[ 1. 2. 3.] [ 1. 2. 3.]]] Could of course make the loop for filling like, but thought there may be a shortcut: for y in range(b.shape[0]): for x in range(b.shape[1]): b[y, x, :] = a There are multiple ways to achieve this. One is to use np.full in np.full((2,2,3), a) as pointed out by Divakar in the comments.