Classificação NumPy()

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 sort()função retorna uma cópia ordenada de um array . Aqui está a sintaxe da sort()função:

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.
  • axisespecifica 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.
  • kindespecifica o algoritmo de classificação que pode ser ‘quicksort’, ‘mergesort’, ‘heapsort’ e ‘stable’.
  • orderespecifica quais campos comparar primeiro, segundo, etc. ao classificar uma matriz com campos definidos. Pode orderser 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 ndarrayobjeto 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 array aem 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 )
Eixo de classificação NumPy 0

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 )
Eixo de classificação NumPy 1

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *