Reorganizando Elementos da Matriz com Numpy

Eu tenho uma matriz NumPy que eu simplifiquei para exemplificar:

       a  b  c  d  e  f 
A =  [[0, 1, 2, 3, 4, 5],
 b    [1, 0, 3, 4, 5, 6],
 c    [2, 3, 0, 5, 6, 7],
 d    [3, 4, 5, 0, 7, 8],
 e    [4, 5, 6, 7, 0, 9],
 f    [5, 6, 7, 8, 9, 0]]

onde o número nas "intersecções" é importante, mas a sua ordem não está correta. Quero reorganizar as linhas e colunas de forma que a nova ordem seja [a, d, b, e, c, f], mas esse valor que estou chamando de "a interseção" é o mesmo.

Abaixo eu comecei a transformar a matriz como eu quero. Preencher a linha 'e' envolve examinar as intersecções acima para (e, a) (= 4), depois (e, d) (= 7), depois (e, b) (= 5), (e, e) , (e, c) e (e, f)

       a  d  b  e  c  f
A1=  [[0, 3, 1, 4, 2, 5],
 d    [3, 0, 4, 7, 5, 8],
 b    [1, 4, 0, 5, 3, 6],  
 e    [4, 7, 5, 

Alguém pode sugerir como reorganizar minha matriz dessa maneira?

questionAnswers(2)

yourAnswerToTheQuestion