Bonjour,
Je suis à la recherche d'une commande sous python qui permet de permuter deux colonnes d'un tableau.
Exemple :
La première colonne passe à la troisième.
La troisième colonne passe à la première.
Merci par avnace
Bonjour,
Je suis à la recherche d'une commande sous python qui permet de permuter deux colonnes d'un tableau.
Exemple :
La première colonne passe à la troisième.
La troisième colonne passe à la première.
Merci par avnace
Salut.
Ca se fait avec les techniques de slicing de numpy :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 >>> import numpy as np >>> M = np.asarray([[1, -1, 0, 0], [-1, 1, 0, 0]]) >>> M array([[ 1, -1, 0, 0], [-1, 1, 0, 0]]) >>> M[:, [2, 1, 0, 3]] array([[ 0, -1, 1, 0], [ 0, 1, -1, 0]]) >>>
Comme ceci ?
Le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 import numpy as np def inversion(M, colonne1,colonne2): for ligne in range(len(M)): M[ligne][colonne1], M[ligne][colonne2] = M[ligne][colonne2], M[ligne][colonne1] return M M=np.array([[1,-1,0,0],[-1,1,0,0]]) print(M) print(inversion(M,0,2))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [[ 1 -1 0 0] [-1 1 0 0]] [[ 0 -1 1 0] [ 0 1 -1 0]]
Merci dardanos et marco056 pour votre aide.
Je vais essayer d'exploiter l'idée pour faire un cas général. En effet, ce n'est pas uniquement la première colonne que je vais déplacer vers la troisième, je dois le faire quelque soit le dimension du tableau et pour toutes les colonnes. Je vais essayer de le faire à partir de ces idée. Au fait, je croyais qu'il existe une commande spécifique.
Je vous remercie encore.
Cordialement,
Partager