Comment puis-je trier un tableau numpy par la nième colonne ? par exemple
Je tiens à trier de la deuxième colonne, telle que je serai de retour :
Merci.
Comment puis-je trier un tableau numpy par la nième colonne ? par exemple
Je tiens à trier de la deuxième colonne, telle que je serai de retour :
Merci.
@steve est en fait la façon la plus élégante de le faire.
Pour la "bonne" façon de voir l'ordre argument mot-clé de numpy.ndarray.tri
Cependant, vous devez accéder à votre tableau comme un tableau avec des champs (un tableau structuré).
La "bonne" façon est assez laid si vous n'avez pas d'abord définir votre tableau avec des champs...
Comme un exemple rapide, de les trier et de renvoyer une copie:
In [1]: import numpy as np
In [2]: a = np.array([[1,2,3],[4,5,6],[0,0,1]])
In [3]: np.sort(a.view('i8,i8,i8'), order=['f1'], axis=0).view(np.int)
Out[3]:
array([[0, 0, 1],
[1, 2, 3],
[4, 5, 6]])
Faire le tri sur place:
In [6]: a.view('i8,i8,i8').sort(order=['f1'], axis=0) #<-- returns None
In [7]: a
Out[7]:
array([[0, 0, 1],
[1, 2, 3],
[4, 5, 6]])
@Steve est vraiment la façon la plus élégante de le faire, autant que je sache...
Le seul avantage de cette méthode est que la "commande" de l'argument est une liste de champs à l'ordre de la recherche. Par exemple, vous pouvez trier les résultats par la deuxième colonne, puis la troisième colonne, puis la première colonne par la fourniture d'une commande=['f1','f2','f0'].
Partir du python docs wiki lien, je pense que vous pouvez faire :
La sortie est :
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.