Ordinamento degli Array
Ordinamento indica la disposizione degli elementi di un array secondo un determinato ordine.
Questa operazione è estremamente utile poiché la ricerca in un array ordinato è molto più veloce, in quanto algoritmi efficienti come la ricerca binaria funzionano solo con array ordinati.
Funzione numpy.sort()
NumPy dispone di una funzione integrata sort() per ordinare gli elementi in base ai valori in ordine crescente. Il valore restituito da questa funzione è un array NumPy ordinato. La sintassi generale è: numpy.sort(a, axis=-1, kind=None, order=None), dove:
aè un array;axisè l'asse lungo il quale ordinare (per impostazione predefinita l'ultimo asse (-1));kindè l'algoritmo di ordinamento da utilizzare (quicksortper impostazione predefinita).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
Metodo ndarray.sort()
Come già menzionato, la funzione numpy.sort() restituisce un array ordinato ma non modifica l’array originale. Se si desidera modificare l’array, è necessario scrivere array = np.sort(array).
Tuttavia, NumPy fornisce un metodo .sort() come alternativa, che ordina l’array in-place e non restituisce un nuovo array (restituisce None, ovvero non restituisce nulla). La sua sintassi è simile a quella della funzione sort().
Una funzione è un blocco di codice indipendente che esegue un compito specifico e può essere richiamato direttamente. Un metodo è una funzione associata a un oggetto e viene richiamata su quell’oggetto, utilizzando l’operatore ..
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Dopo aver chiamato il metodo .sort(), array_1d è stato ordinato in loco e ora contiene elementi ordinati in ordine crescente.
Ordinamento di array 1D in ordine decrescente
A volte può essere necessario ordinare un array in ordine decrescente. Né il metodo .sort() né la funzione sort() supportano direttamente questa funzionalità. Tuttavia, è possibile utilizzare lo slicing con step uguale a -1 su un array ordinato:
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Swipe to start coding
Stai gestendo un dataset di stipendi dei dipendenti memorizzato nell'array salaries.
- Ordina gli stipendi in ordine decrescente utilizzando la funzione appropriata.
- Stampa i primi 3 stipendi utilizzando uno slice e specificando solo un
endpositivo.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.7
Ordinamento degli Array
Scorri per mostrare il menu
Ordinamento indica la disposizione degli elementi di un array secondo un determinato ordine.
Questa operazione è estremamente utile poiché la ricerca in un array ordinato è molto più veloce, in quanto algoritmi efficienti come la ricerca binaria funzionano solo con array ordinati.
Funzione numpy.sort()
NumPy dispone di una funzione integrata sort() per ordinare gli elementi in base ai valori in ordine crescente. Il valore restituito da questa funzione è un array NumPy ordinato. La sintassi generale è: numpy.sort(a, axis=-1, kind=None, order=None), dove:
aè un array;axisè l'asse lungo il quale ordinare (per impostazione predefinita l'ultimo asse (-1));kindè l'algoritmo di ordinamento da utilizzare (quicksortper impostazione predefinita).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
Metodo ndarray.sort()
Come già menzionato, la funzione numpy.sort() restituisce un array ordinato ma non modifica l’array originale. Se si desidera modificare l’array, è necessario scrivere array = np.sort(array).
Tuttavia, NumPy fornisce un metodo .sort() come alternativa, che ordina l’array in-place e non restituisce un nuovo array (restituisce None, ovvero non restituisce nulla). La sua sintassi è simile a quella della funzione sort().
Una funzione è un blocco di codice indipendente che esegue un compito specifico e può essere richiamato direttamente. Un metodo è una funzione associata a un oggetto e viene richiamata su quell’oggetto, utilizzando l’operatore ..
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Dopo aver chiamato il metodo .sort(), array_1d è stato ordinato in loco e ora contiene elementi ordinati in ordine crescente.
Ordinamento di array 1D in ordine decrescente
A volte può essere necessario ordinare un array in ordine decrescente. Né il metodo .sort() né la funzione sort() supportano direttamente questa funzionalità. Tuttavia, è possibile utilizzare lo slicing con step uguale a -1 su un array ordinato:
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Swipe to start coding
Stai gestendo un dataset di stipendi dei dipendenti memorizzato nell'array salaries.
- Ordina gli stipendi in ordine decrescente utilizzando la funzione appropriata.
- Stampa i primi 3 stipendi utilizzando uno slice e specificando solo un
endpositivo.
Soluzione
Grazie per i tuoi commenti!
single