Função Python NumPy numpy.sort()

Minahil Noor 30 janeiro 2023
  1. Sintaxe da função numpy.sort()
  2. Códigos de exemplo: numpy.sort()
  3. Códigos de exemplo: numpy.sort() para ordenar um array multidimensional
  4. Códigos de exemplo: numpy.sort() para ordenar um array multidimensional ao longo de um eixo especificado
  5. Códigos de exemplo: numpy.sort() para ordenar diferentes tipos de arrays
Função Python NumPy numpy.sort()

A função Python NumPy numpy.sort() ordena um array N-dimensional de qualquer tipo de dados. A função ordena o array em ordem ascendente por defeito.

Sintaxe da função numpy.sort()

numpy.sort(a, axis=-1, kind=None, order=None)

Parâmetros

a É uma estrutura tipo arraial. É a matriz de entrada para ordenar.
axis É um número inteiro. Representa o eixo ao longo do qual a função irá ordenar a matriz. O seu valor por defeito é -1, o que significa que a função ordenará a matriz ao longo do último eixo, ou seja, em ordem ascendente. Se for ‘Ninguém’, a função converterá o array multidimensional em unidimensional antes da ordenação. Se for 0, a função ordenará o array ao longo do primeiro eixo, ou seja, em ordem decrescente.
kind É um string. Representa o nome do algoritmo de ordenação. Os nomes dos algoritmos de ordenação aceites por esta função são quicksort, mergesort, heapsort, e stable. Para ler mais sobre as complexidades temporais destes algoritmos de ordenação, clique aqui.
order É uma string ou uma lista de strings. Quando os campos de um array são definidos, este parâmetro é utilizado para especificar o campo a comparar primeiro.

Devolver

Devolve um array ordenada do mesmo tipo e forma que a matriz de inteiro.

Códigos de exemplo: numpy.sort()

O parâmetro a é obrigatório. Se executarmos esta função num array unidimensional, ela gera o seguinte output.

import numpy as np

a = np.array(
    [89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)

sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[2 9 11 12 12 23 28 34 34 45 56 65 65 78 78 78 82 87 89 90]

Devolveu um array ordenado em ordem ascendente.

Códigos de exemplo: numpy.sort() para ordenar um array multidimensional

Vamos agora passar um array multidimensional.

import numpy as np

a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[[ 5 11 12]
 [ 6 10 15]
 [ 8 10 12]
 [ 8 12 15]
 [34 78 90]]

A função ordenou o array numa ordem ascendente, isto é, ao longo do último eixo como valor por defeito para o axis = -1.

Códigos de exemplo: numpy.sort() para ordenar um array multidimensional ao longo de um eixo especificado

Definiremos o valor do parâmetro axis para None.

import numpy as np

a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

sorted_array = np.sort(a, axis=None)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[5 6 8 8 10 10 11 12 12 12 15 15 34 78 90]

Note-se que a função converteu primeiro a matriz para um array unidimensional e depois ordenou-a.

Agora, vamos ordenar o nosso array ao longo do primeiro eixo.

import numpy as np

a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8]])

sorted_array = np.sort(a, axis=0)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[[10  6  5]
 [11  8  8]
 [12 12 10]
 [15 15 12]]

A função ordenou o array ao longo do primeiro eixo, ou seja, por ordem decrescente.

Códigos de exemplo: numpy.sort() para ordenar diferentes tipos de arrays

Podemos usar esta função para ordenar conjuntos de diferentes tipos de dados como um array de strings, um array booleano, etc.

import numpy as np

a = np.array([["z", "x"], ["b", "a"], ["g", "l"], ["k", "d"]])

sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[['x' 'z']
 ['a' 'b']
 ['g' 'l']
 ['d' 'k']]

Note-se que classificou a matriz em ordem alfabética crescente. Agora, vamos passar um array de valores booleanos.

import numpy as np

a = np.array([[True, False, True], [False, False, True], [False, True, True]])

sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)

Resultado:

The sorted array is:
[[False  True  True]
 [False False  True]
 [False  True  True]]