Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Ordinamento degli Array | Funzioni NumPy Comumente Usate
Numpy Definitivo

Scorri per mostrare il menu

book
Ordinamento degli Array

Questa operazione è estremamente utile poiché la ricerca in un array ordinato è molto più veloce perché algoritmi efficienti come la ricerca binaria funzionano solo con array ordinati.

funzione numpy.sort()

NumPy ha una funzione integrata sort() per ordinare gli elementi per valori in ordine crescente. Il valore restituito di questa funzione è un array NumPy ordinato. Ecco la sua sintassi generale: numpy.sort(a, axis=-1, kind=None, order=None), dove:

  • a è un array;

  • axis è l'asse lungo il quale ordinare (ultimo asse (-1) per impostazione predefinita);

  • kind è l'algoritmo di ordinamento da utilizzare (quicksort per impostazione predefinita).

123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

Metodo ndarray.sort()

Come abbiamo già menzionato, la funzione numpy.sort() restituisce un array ordinato ma non modifica l'array originale. Se volessimo modificare l'array, dovremmo scrivere array = np.sort(array).

Tuttavia, NumPy fornisce un metodo .sort() come alternativa, che ordina l'array in loco e non restituisce un nuovo array (restituisce None, il che significa che non restituisce nulla). La sua sintassi è simile alla funzione sort().

Nota

Una funzione è un blocco di codice autonomo che esegue un compito specifico e può essere chiamato direttamente. Un metodo è una funzione associata a un oggetto e viene chiamata su quell'oggetto, utilizzando l'operatore ..

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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 potremmo voler ordinare un array in ordine decrescente. Né il metodo .sort() né la funzione sort() supportano direttamente questa funzionalità. Tuttavia, possiamo semplicemente utilizzare lo slicing con step uguale a -1 su un array ordinato:

12345
import 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)
copy
Compito

Swipe to start coding

Stai gestendo un dataset di stipendi dei dipendenti memorizzato nell'array salaries.

  1. Ordina gli stipendi in ordine decrescente utilizzando la funzione appropriata.
  2. Stampa i primi 3 stipendi utilizzando uno slice e specificando solo un end positivo.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Ordinamento degli Array

Questa operazione è estremamente utile poiché la ricerca in un array ordinato è molto più veloce perché algoritmi efficienti come la ricerca binaria funzionano solo con array ordinati.

funzione numpy.sort()

NumPy ha una funzione integrata sort() per ordinare gli elementi per valori in ordine crescente. Il valore restituito di questa funzione è un array NumPy ordinato. Ecco la sua sintassi generale: numpy.sort(a, axis=-1, kind=None, order=None), dove:

  • a è un array;

  • axis è l'asse lungo il quale ordinare (ultimo asse (-1) per impostazione predefinita);

  • kind è l'algoritmo di ordinamento da utilizzare (quicksort per impostazione predefinita).

123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

Metodo ndarray.sort()

Come abbiamo già menzionato, la funzione numpy.sort() restituisce un array ordinato ma non modifica l'array originale. Se volessimo modificare l'array, dovremmo scrivere array = np.sort(array).

Tuttavia, NumPy fornisce un metodo .sort() come alternativa, che ordina l'array in loco e non restituisce un nuovo array (restituisce None, il che significa che non restituisce nulla). La sua sintassi è simile alla funzione sort().

Nota

Una funzione è un blocco di codice autonomo che esegue un compito specifico e può essere chiamato direttamente. Un metodo è una funzione associata a un oggetto e viene chiamata su quell'oggetto, utilizzando l'operatore ..

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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 potremmo voler ordinare un array in ordine decrescente. Né il metodo .sort() né la funzione sort() supportano direttamente questa funzionalità. Tuttavia, possiamo semplicemente utilizzare lo slicing con step uguale a -1 su un array ordinato:

12345
import 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)
copy
Compito

Swipe to start coding

Stai gestendo un dataset di stipendi dei dipendenti memorizzato nell'array salaries.

  1. Ordina gli stipendi in ordine decrescente utilizzando la funzione appropriata.
  2. Stampa i primi 3 stipendi utilizzando uno slice e specificando solo un end positivo.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt