Difficulty understanding .moveaxis in Numpy

I am learning Numpy in Python. I am having difficulties understanding .moveaxis in Numpy.

I first create an array by using a=np.arange(24).reshape(2,3,4). The system will first fill up axis 2 with 0 1 2 3, then move along axis 1 to the next row. When the first ‘page’ is done, the system move along axis 0. The following is obtained.

array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

If I input b = np.swapaxes(a,0,2); b now, the system should fill up axis 0 first, then axis 1 and finally axis 2. The following is obtained.

array([[[ 0, 12],
        [ 4, 16],
        [ 8, 20]],

       [[ 1, 13],
        [ 5, 17],
        [ 9, 21]],

       [[ 2, 14],
        [ 6, 18],
        [10, 22]],

       [[ 3, 15],
        [ 7, 19],
        [11, 23]]])

This is understandable as axis 1 is preserved, so we can still see columns like 0 4 8 and 1 5 9 after swapping the axes.

But I don’t really understand how .moveaxis works. If I input b = np.moveaxis(a,0,2); b, the following is obtained.

array([[[ 0, 12],
        [ 1, 13],
        [ 2, 14],
        [ 3, 15]],

       [[ 4, 16],
        [ 5, 17],
        [ 6, 18],
        [ 7, 19]],

       [[ 8, 20],
        [ 9, 21],
        [10, 22],
        [11, 23]]])

I know that the .moveaxis function is meant to ‘move axis 0 to a new position while the other axes remain the same order’, but what is the meaning of that? I understand that the result should be an array with shape (3, 4, 2), but why would the system go down the first column in the first place then move on to the second page? Any help on understanding the mechanism behind .moveaxis is appreciated.