Ordinare Array in NumPy
L’ordinamento degli array è una parte essenziale del lavoro con dati in NumPy. NumPy offre diverse funzioni per ordinare array in modo flessibile. In questo articolo, esploreremo come ordinare gli array utilizzando NumPy, inclusi esempi per array multidimensionali.
Utilizzo di np.sort
(Ordinamento senza Modifica)
La funzione np.sort
viene utilizzata per ordinare un array senza modificarlo direttamente. Restituisce una copia ordinata dell’array originale. Puoi specificare l’asse lungo il quale effettuare l’ordinamento utilizzando il parametro axis
.
Ecco un esempio di utilizzo di np.sort
con un array unidimensionale:
import numpy as np
# Creazione di un array unidimensionalearr = np.array([3, 1, 2, 4])
# Ordinamento dell'arraysorted_arr = np.sort(arr)
print(sorted_arr)# Restituisce: [1 2 3 4]
In questo esempio, np.sort
ordina l’array arr
in ordine crescente.
Utilizzo di np.argsort
(Indici dell’Ordinamento)
La funzione np.argsort
restituisce gli indici che riordinerebbero l’array in ordine crescente. Questo è utile quando si desidera ottenere gli indici degli elementi in base all’ordine di classificazione.
Ecco un esempio:
import numpy as np
# Creazione di un array unidimensionalearr = np.array([3, 1, 2, 4])
# Ottieni gli indici per l'ordinamentoindices = np.argsort(arr)
print(indices)# Restituisce: [1 2 0 3]
In questo esempio, indices
contiene gli indici degli elementi di arr
in modo che possano essere riordinati in ordine crescente.
Utilizzo di np.sort
con Array Multidimensionali
Per ordinare array multidimensionali, puoi specificare l’asse lungo il quale effettuare l’ordinamento utilizzando il parametro axis
. Ecco un esempio di ordinamento di una matrice bidimensionale:
import numpy as np
# Creazione di una matricematrix = np.array([[3, 1, 2], [6, 4, 5]])
# Ordinamento lungo le colonne (asse 0)sorted_matrix_col = np.sort(matrix, axis=0)
print(sorted_matrix_col)# Restituisce:# [[3 1 2]# [6 4 5]]
In questo caso, np.sort
ordina la matrice lungo l’asse delle colonne (asse 0).
Per ordinare lungo le righe (asse 1), puoi utilizzare:
sorted_matrix_row = np.sort(matrix, axis=1)
Utilizzo di np.sort
con Ordine Personalizzato
Puoi specificare un ordine personalizzato per l’ordinamento utilizzando il parametro kind
. Ad esempio, puoi ordinare in ordine decrescente utilizzando kind='quicksort'
e specificando l’indice -1
per l’asse.
sorted_arr_desc = np.sort(arr, kind='quicksort')[::-1]
Conclusioni
L’ordinamento degli array è una parte fondamentale dell’analisi dei dati in NumPy. Con le funzioni np.sort
e np.argsort
, puoi ordinare array in modo efficiente in base alle tue esigenze specifiche, indipendentemente dalle dimensioni degli array. Ricorda di specificare l’asse corretto quando lavori con array multidimensionali per ottenere il risultato desiderato.