Bonjour,
Je suis à la recherche d'une commande sous python qui permet de permuter deux colonnes d'un tableau.
Exemple :
Pièce jointe 162184
La première colonne passe à la troisième.
La troisième colonne passe à la première.
Merci par avnace
Version imprimable
Bonjour,
Je suis à la recherche d'une commande sous python qui permet de permuter deux colonnes d'un tableau.
Exemple :
Pièce jointe 162184
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:
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:
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:
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,