¿Cómo funciona numpy.transpose para este ejemplo?

Tengo dificultades para comprender cómo funciona realmente numpy.transpose. Por ejemplo

a_value = array([[[0, 1],
                  [2, 3]],

                 [[4, 5],
                  [6, 7]]])

y cuando lo hago

np.transpose(a_value, (2, 1, 0))

yo obtengo

array([[[0, 4],
        [2, 6]],

       [[1, 5],
        [3, 7]]])

¿Cómo puedo derivar esta transposición manualmente? Necesito entender la fórmula o los pasos intuitivamente en el caso anterior para poder generalizarla en dimensiones superiores.

Respuestas a la pregunta(2)

Su respuesta a la pregunta