logo

Ordinamento di array NumPy | Come ordinare l'array NumPy

L'ordinamento di un array è un passaggio molto importante nell'analisi dei dati poiché aiuta a ordinare i dati e ne semplifica la ricerca e la pulizia.

In questo tutorial impareremo come ordinare un array in NumPy . Puoi ordinare un array in NumPy:

  • Utilizzando la funzione np.sort()
    • ordinamento in linea
    • ordinamento lungo assi diversi
  • Utilizzando la funzione np.argsort()
  • Utilizzando la funzione np.lexsort()

Utilizzando la funzione sort()

Il metodo sort() ordina l'elemento di una determinata struttura dati (qui array). Chiama la funzione di ordinamento con l'oggetto array per ordinare gli elementi.



Esistono due casi di ordinamento di array con il metodo sort():

  • Ordina l'array NumPy sul posto
  • Ordina l'array NumPy lungo gli assi

Tratteremo entrambi questi metodi con un esempio di seguito:

Ordina l'array sul posto

Ordinare un array sul posto significa ordinare direttamente gli elementi dell'array originale.

Non crea una nuova copia dell'array ed è molto efficiente in termini di memoria.

ospitare Linux

Esempio

Utilizzo del metodo sort() per ordinare gli elementi nell'array NumPy sul posto.

Python3




# importing libraries> import> numpy as np> > a>=> np.array([>12>,>15>,>10>,>1>])> print>(>'Array before sorting'>,a)> a.sort()> print>(>'Array after sorting'>,a)>

>

>

Produzione:

Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15]>

Ordina la matrice lungo assi diversi

Questo metodo crea una copia ordinata dell'array NumPy specificato.

Viene utilizzato principalmente in un array multidimensionale quando si desidera ordinare lungo una determinata dimensione.

Esempio

Utilizzando il metodo sort() per gli elementi nell'array NumPy lungo l'asse

Python3




# importing libraries> import> numpy as np> # sort along the first axis> a>=> np.array([[>12>,>15>], [>10>,>1>]])> arr1>=> np.sort(a, axis>=> 0>)> print> (>'Along first axis : '>, arr1)> # sort along the last axis> a>=> np.array([[>10>,>15>], [>12>,>1>]])> arr2>=> np.sort(a, axis>=> ->1>)> print> (>' Along first axis : '>, arr2)> a>=> np.array([[>12>,>15>], [>10>,>1>]])> arr1>=> np.sort(a, axis>=> None>)> print> (>' Along none axis : '>, arr1)>

>

>

ordine casuale in sql

Produzione:

Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15]>

Utilizzando argsort()

metodo argsort() è un modo indiretto di ordinare l'array NumPy lungo un determinato asse.

Restituisce un matrice di indici ciò ordinerebbe l'array originale in ordine crescente.

Esempio

Utilizzo di argsort() per ordinare gli elementi nell'array NumPy

Python3




import> numpy as np> > # Numpy array created> a>=> np.array([>9>,>3>,>1>,>7>,>4>,>3>,>6>])> > # unsorted array print> print>(>'Original array: '>, a)> > # Sort array indices> b>=> np.argsort(a)> print>(>'Sorted indices of original array->'>, b)> > # To get sorted array using sorted indices> # c is temp array created of same len as of b> c>=> np.zeros(>len>(b), dtype>=> int>)> for> i>in> range>(>0>,>len>(b)):> >c[i]>=> a[b[i]]> print>(>'Sorted array->'>, c)>

>

burak ozcivit
>

Produzione:

Original array:  [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Array ordinato-> [1 3 3 4 6 7 9]>

Utilizzando la sequenza di tasti

Ordinare un array utilizzando una sequenza di chiavi ci consente di ordinare un array in base a più criteri.

È possibile utilizzare questo metodo con la funzione np.lexsort(). La funzione lexsort() restituisce un array di indici che ordinerebbe l'array originale.

Esempio

Ottieni un ordinamento stabile utilizzando una sequenza di chiavi.

ordina l'elenco degli array java

Python3




import> numpy as np> > # Numpy array created> # First column> a>=> np.array([>9>,>3>,>1>,>3>,>4>,>3>,>6>])> > # Second column> b>=> np.array([>4>,>6>,>9>,>2>,>1>,>8>,>7>])> print>(>'column a, column b'>)> for> (i, j)>in> zip>(a, b):> >print>(i,>' '>, j)> > # Sort by a then by b> ind>=> np.lexsort((b, a))> print>(>'Sorted indices->'>, ind)>

>

>

Produzione:

column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices->[2 3 1 5 4 6 0]>

Controlla anche: Ordinamento, ricerca e conteggio in NumPy

Conclusione

L'ordinamento dell'array NumPy semplifica la ricerca degli elementi duplicati, massimi e minimi. È un'operazione essenziale di manipolazione dei dati, che semplifica il lavoro con i dati.

In questo tutorial, abbiamo trattato tre metodi su come ordinare un array in NumPy, ovvero sort(), argsort() e lexsort(). Tutti questi metodi forniscono funzionalità diverse per ordinare ndarray in NumPy. Abbiamo spiegato i metodi in parole semplici con esempi per darti una comprensione completa dell'argomento.