Pode utilizar os seguintes métodos para ordenar as linhas de uma matriz NumPy por valores de coluna:

Método 1: Ordenar por valores de coluna de forma ascendente

 x_sorted_asc = x[x[:, 1]. argsort ()] 

Método 2: Ordenar por valores de coluna de forma descendente

 x_sorted_desc = x[x[:, 1]. argsort ()[::-1]] 

Os exemplos seguintes mostram como utilizar cada método na prática.

Exemplo 1: Ordenar uma matriz Numpy por valores de coluna em ordem crescente

Suponha que temos a seguinte matriz NumPy:

 import numpy as np #criar matriz x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3) #visualizar matriz print (x) [[14 12 8] [10 5 7] [11 9 2]] 

Podemos utilizar o seguinte código para ordenar as linhas da matriz NumPy por ordem crescente com base nos valores da segunda coluna:

 #defina uma nova matriz com linhas ordenadas por ordem crescente pelos valores da segunda coluna x_sorted_asc = x[x[:, 1]. argsort ()] #veja a matriz ordenada print (x_sorted_asc) [[10 5 7] [11 9 2] [14 12 8]] 

Repare que as linhas estão agora ordenadas por ordem ascendente (da menor para a maior) com base nos valores da segunda coluna.

Exemplo 2: Classificar matriz Numpy por valores de coluna de forma decrescente

Suponha que temos a seguinte matriz NumPy:

 import numpy as np #criar matriz x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3) #visualizar matriz print (x) [[14 12 8] [10 5 7] [11 9 2]] 

Podemos utilizar o seguinte código para ordenar as linhas da matriz NumPy por ordem descendente com base nos valores da segunda coluna:

 #defina uma nova matriz com linhas ordenadas por ordem decrescente pelos valores da segunda coluna x_sorted_desc = x[x[:, 1]. argsort ()[::-1]] #visualize a matriz ordenada print (x_sorted_desc) [[14 12 8] [11 9 2] [10 5 7]] 

Repare que as linhas estão agora ordenadas por ordem descendente (da maior para a mais pequena) com base nos valores da segunda coluna.