Intercambiando las dimensiones de una matriz numpy

Me gustaría hacer lo siguiente:

for i in dimension1:
  for j in dimension2:
    for k in dimension3:
      for l in dimension4:
        B[k,l,i,j] = A[i,j,k,l]

sin el uso de bucles. Al final, A y B contienen la misma información pero indexados de manera diferente.

Debo señalar que las dimensiones 1,2,3 y 4 pueden ser iguales o diferentes. Entonces, numpy.reshape () parece difícil.

Respuestas a la pregunta(5)

Su respuesta a la pregunta