Resumo : neste tutorial, você aprenderá como usar a sort()
função numpy para classificar elementos de um array.
Introdução à função NumPy sort()
A
função retorna uma cópia ordenada de um array . Aqui está a sintaxe da sort()
função:sort()
numpy.sort(a, axis=- 1, kind=None, order=None)
Linguagem de código: Python ( python )
Nesta sintaxe:
a
é uma matriz numpy a ser classificada. Além disso, pode ser qualquer objeto que possa ser convertido em um array.axis
especifica o eixo ao longo do qual os elementos serão classificados. Se o eixo for Nenhum, a função nivela a matriz antes da classificação. Por padrão, o eixo é -1, que classifica os elementos ao longo do último eixo.kind
especifica o algoritmo de classificação que pode ser ‘quicksort’, ‘mergesort’, ‘heapsort’ e ‘stable’.order
especifica quais campos comparar primeiro, segundo, etc. ao classificar uma matriz com campos definidos. Podeorder
ser uma string que representa o campo a ser classificado ou uma lista de strings que representa uma lista de campos a serem classificados.
Se você deseja classificar os elementos de um array no local, você pode usar o sort()
método do ndarray
objeto com a seguinte sintaxe:
ndarray.sort(axis=- 1, kind=None, order=None)
Linguagem de código: Python ( python )
Exemplos de funções NumPy sort()
Vejamos alguns exemplos de uso da sort()
função NumPy.
1) Usando a função sort() para classificar um array 1-D
O exemplo a seguir usa a sort()
função para classificar números em uma matriz 1-D:
import numpy as np
a = np.array([2, 3, 1])
b = np.sort(a)
print(b)
Linguagem de código: Python ( python )
Saída:
[1 2 3]
Linguagem de código: Python ( python )
Neste exemplo, a sort()
função classifica os elementos do array de menor para maior.
Para classificar os elementos de um array de maior para menor, você pode usar a sort()
função para classificar um array de menor para maior e usar uma fatia para reverter o array. Por exemplo:
import numpy as np
a = np.array([2, 3, 1])
b = np.sort(a)[::-1]
print(b)
Linguagem de código: Python ( python )
Saída:
[3 2 1]
Linguagem de código: Python ( python )
Neste exemplo:
- Primeiro, a
sort()
função classifica os elementos do arraya
em ordem crescente (do menor para o maior) - Em seguida, a fatia [::-1] inverte a matriz classificada para que os elementos da matriz resultante fiquem em ordem decrescente.
2) Usando a função numpy sort() para classificar um exemplo de array 2-D
O exemplo a seguir usa a sort()
função para classificar uma matriz 2D:
import numpy as np
a = np.array([
[2, 3, 1],
[5, 6, 4]
])
b = np.sort(a)
print(b)
Linguagem de código: Python ( python )
Saída:
[[1 2 3]
[4 5 6]]
Linguagem de código: Python ( python )
O exemplo a seguir usa a sort()
função para classificar elementos no eixo 0:
import numpy as np
a = np.array([
[5, 3, 4],
[2, 6, 1]
])
b = np.sort(a, axis=0)
print(b)
Linguagem de código: Python ( python )
Saída:
[[2 3 1]
[5 6 4]]
Linguagem de código: Python ( python )
Da mesma forma, você pode classificar os elementos do array no eixo 1:
import numpy as np
a = np.array([
[5, 3, 4],
[2, 6, 1]
])
b = np.sort(a, axis=1)
print(b)
Linguagem de código: Python ( python )
Saída:
[[3 4 5]
[1 2 6]]
Linguagem de código: JSON/JSON com comentários ( json )
3) Usando a função numpy sort() para classificar um exemplo de array estruturado
O exemplo a seguir classifica os funcionários por ano de serviço e depois por salário:
import numpy as np
dtype = [('name', 'S10'),
('year_of_services', float),
('salary', float)]
employees = [
('Alice', 1.5, 12500),
('Bob', 1, 15500),
('Jane', 1, 11000)
]
payroll = np.array(employees, dtype=dtype)
result = np.sort(
payroll,
order=['year_of_services', 'salary']
)
print(result)
Linguagem de código: Python ( python )
Saída:
[(b'Jane', 1. , 11000.) (b'Bob', 1. , 15500.) (b'Alice', 1.5, 12500.)]
Linguagem de código: Python ( python )
Resumo
- Use a função numpy
sort()
para classificar os elementos de um array.