how to copy numpy array value into higher dimensions
I have a (w,h) np array in 2d. I want to make a 3d dimension that has a value greater than 1 and copy its value over along the 3rd dimensions. I was hoping broadcast would do it but it can't. This is how i'm doing it arr = np.expand_dims(arr, axis=2) arr = np.concatenate((arr,arr,arr), axis=2) is there a a faster way to do so? You can push all dims forward, introducing a singleton dim/new axis as the last dim to create a 3D array and then repeat three times along that one with np.repeat , like so - arr3D = np.repeat(arr[...,None],3,axis=2) Here's another approach using np.tile - arr3D = np