Como classificar um array numpy por coluna (com exemplos)
Você pode usar os seguintes métodos para classificar as linhas de uma matriz NumPy por valores de coluna:
Método 1: classificar por valores de coluna em ordem crescente
x_sorted_asc = x[x[:, 1]. argsort ()]
Método 2: classificar por valores de coluna decrescentes
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]
Os exemplos a seguir mostram como usar cada método na prática.
Exemplo 1: Classificar array Numpy por valores de coluna em ordem crescente
Suponha que temos o seguinte array NumPy:
import numpy as np #create array x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3) #view array print (x) [[14 12 8] [10 5 7] [11 9 2]]
Podemos usar o código a seguir para classificar as linhas da tabela NumPy em ordem crescente com base nos valores da segunda coluna:
#define new matrix with rows sorted in ascending order by values in second column
x_sorted_asc = x[x[:, 1]. argsort ()]
#view sorted matrix
print (x_sorted_asc)
[[10 5 7]
[11 9 2]
[14 12 8]]
Observe que as linhas agora são classificadas em ordem crescente (da menor para a maior) com base nos valores da segunda coluna.
Exemplo 2: Classifique a matriz Numpy por valores de coluna decrescentes
Suponha que temos o seguinte array NumPy:
import numpy as np #create array x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3) #view array print (x) [[14 12 8] [10 5 7] [11 9 2]]
Podemos usar o código a seguir para classificar as linhas da tabela NumPy em ordem decrescente com base nos valores da segunda coluna:
#define new matrix with rows sorted in descending order by values in second column
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]
#view sorted matrix
print (x_sorted_desc)
[[14 12 8]
[11 9 2]
[10 5 7]]
Observe que as linhas agora são classificadas em ordem decrescente (da maior para a menor) com base nos valores da segunda coluna.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em Python:
Como encontrar o índice de valor na matriz NumPy
Como obter uma coluna específica de um array NumPy
Como adicionar uma coluna a um array NumPy