Funzione Python NumPy numpy.sort()

Minahil Noor 30 gennaio 2023
  1. Sintassi di numpy.sort()
  2. Codici di esempio: numpy.sort()
  3. Codici di esempio: numpy.sort() per ordinare un array multidimensionale
  4. Codici di esempio: numpy.sort() per ordinare un array multidimensionale lungo un asse specificato
  5. Codici di esempio: numpy.sort() per ordinare diversi tipi di array
Funzione Python NumPy numpy.sort()

La funzione Python NumPy numpy.sort() ordina un array N-dimensionale di qualsiasi tipo di dati. La funzione ordina l’array in ordine crescente per impostazione predefinita.

Sintassi di numpy.sort()

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

Parametri

a È una struttura a matrice. È l’array di input da ordinare.
axis È un numero intero. Rappresenta l’asse lungo il quale la funzione ordinerà l’array. Il suo valore predefinito è -1, il che significa che la funzione ordinerà l’array lungo l’ultimo asse, cioè in ordine crescente. Se è None, la funzione convertirà l’array multidimensionale in unidimensionale prima dell’ordinamento. Se è 0, la funzione ordinerà l’array lungo il primo asse, cioè in ordine decrescente.
kind È una stringa. Rappresenta il nome dell’algoritmo di ordinamento. I nomi degli algoritmi di ordinamento accettati da questa funzione sono quicksort, mergesort, heapsort e stable. Per saperne di più sulla complessità temporale di questi algoritmi di ordinamento, fare clic qui.
order È una stringa o una lista di stringhe. Quando vengono definiti i campi di un array, questo parametro viene utilizzato per specificare il campo da confrontare per primo.

Ritorno

Restituisce un array ordinato dello stesso tipo e forma dell’array di input.

Codici di esempio: numpy.sort()

Il parametro a è obbligatorio. Se eseguiamo questa funzione su un array unidimensionale, genera il seguente 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)

Produzione:

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

Ha restituito un array ordinato in ordine crescente.

Codici di esempio: numpy.sort() per ordinare un array multidimensionale

Passeremo ora un array multidimensionale.

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)

Produzione:

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

La funzione ha ordinato l’array in ordine crescente, cioè lungo l’ultimo asse come valore predefinito per axis = -1.

Codici di esempio: numpy.sort() per ordinare un array multidimensionale lungo un asse specificato

Imposteremo il valore del parametro axis su 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)

Produzione:

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

Notare che la funzione ha convertito prima l’array in un array unidimensionale e poi lo ha ordinato.

Ora ordineremo il nostro array lungo il primo asse.

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)

Produzione:

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

La funzione ha ordinato la matrice lungo il primo asse, ovvero in ordine decrescente.

Codici di esempio: numpy.sort() per ordinare diversi tipi di array

Possiamo usare questa funzione per ordinare array di diversi tipi di dati come un array di stringhe, un array booleano, ecc.

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)

Produzione:

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

Notare che ha ordinato la matrice in ordine alfabetico crescente. Ora passeremo un array di valori booleani.

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)

Produzione:

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