np.newaxis in python code example

Example 1: what is np.newaxis

a = np.array([[[5,8,7,6,3],
             [9,5,7,4,45],
             [8,70,45,80,100]],
              [[5,8,7,6,3],
             [9,5,7,4,45],
             [8,70,45,80,100]]])
a.shape
>>>(2, 3, 5)
# if we want to increase the dimension and want to convert (2,3,5) -> (2,3,5,1)
# then we do something like this -- 
a[:,:,:,np.newaxis].shape
>>>(2,3,5,1)
# and if we want to increase the dimension and want to convert
# (2,3,5) -> (2,3,1,5) then we do something like this --
a[:,:,np.newaxis,:].shape
>>>(2,3,1,5)
# and if we want to increase the dimension and want to convert
# (2,3,5) -> (2,1,3,5) then we do something like this --
a[:,np.newaxis,:,:].shape
>>>(2,1,3,5)
# and if we want to increase the dimension and want to convert
# (2,3,5) -> (1,2,3,5) then we do pretty much as you expect --
a[np.newaxis,:,:,:].shape
>>>(1,2,3,5)

# https://i.stack.imgur.com/zkMBy.png  -- see the red color conversion how
# this mechanics possible.

Example 2: np.newaxis

how np.newaxis works