En réorganisant les Éléments de la Matrice avec Numpy
J'ai un NumPy matrice que j'ai simplifié pour illustrer:
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]]
où le nombre à la "intersections" est important, mais leur ordre n'est pas droit. Je veux réorganiser les lignes et les colonnes, telles que la nouvelle commande est d' [a, d, b, e, c, f], mais cette valeur que je vais appeler "l'intersection" est le même.
Ci-dessous, j'ai commencé à transformer la matrice de la façon dont je le veux. Remplir le " e " de ligne, qui implique à l'intersection ci-dessus pour (e,a) (= 4), alors (e,d) (=7), (e,b) (=5), (e,e), (e,c), et (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,
Quelqu'un peut s'il vous plaît suggérer comment ré-organiser mon matrice de cette manière?
- Cela peut vous aider: stackoverflow.com/a/4857981/1142167
Vous devez vous connecter pour publier un commentaire.
edit: j'ai juste trébuché à travers un NumPy solution qui utilise des fonctions avancées d'indexation:
Ici est un pur Python solution qui peut être transférable à NumPy:
Résultat:
Ici est une version modifie
A
en place:pprint
est un module "impression" des données, c'est juste un moyen simple pour afficher des tableaux et des dictionnaires en ligne/format de colonne, au lieu de simplement sur une seule ligne.Numpy fournit de nombreux méthodes pour manipuler les tableaux, y compris les éléments de roulement le long d'un xis, rouler tous les axes, permuter les axes. Vous pouvez utiliser une combinaison de ces éléments pour obtenir le désiré ordre des éléments