- Exemplo 1: Ordenar uma matriz Numpy por valores de coluna em ordem crescente
- Exemplo 2: Classificar matriz Numpy por valores de coluna de forma decrescente
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.