logo

Ordenació de matrius NumPy | Com ordenar NumPy Array

L'ordenació d'una matriu és un pas molt important en l'anàlisi de dades, ja que ajuda a ordenar les dades i facilita la cerca i la neteja.

En aquest tutorial, aprendrem com ordenar una matriu a NumPy . Podeu ordenar una matriu a NumPy:



  • Utilitzant la funció np.sort().
    • ordenació en línia
    • classificació en diferents eixos
  • Utilitzant la funció np.argsort().
  • Utilitzant la funció np.lexsort().

Utilitzant la funció sort().

El mètode sort() ordena l'element d'una estructura de dades determinada (aquí matriu). Truqueu a la funció d'ordenació amb l'objecte matriu per ordenar els elements.

Hi ha dos casos de matriu d'ordenació amb el mètode sort():

  • Ordena la matriu NumPy al seu lloc
  • Ordena la matriu NumPy al llarg dels eixos

Cobrirem aquests dos mètodes amb un exemple a continuació:



Ordena la matriu al lloc

Ordenar una matriu al seu lloc significa ordenar directament els elements de la matriu original.

No crea una còpia de matriu nova i és molt eficient amb la memòria.

com concatenar cadenes en java

Exemple

Utilitzant el mètode sort() per ordenar elements de la matriu NumPy al seu lloc.



Python 3




# 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)>

>

>

Sortida:

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

Ordena la matriu al llarg de diferents eixos

Aquest mètode crea una còpia ordenada de la matriu NumPy donada.

S'utilitza principalment en una matriu multidimensional quan es vol ordenar al llarg d'una dimensió determinada.

anaconda vs serp pitó

Exemple

Utilitzant el mètode sort() per als elements de la matriu NumPy al llarg de l'eix

Python 3




# 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)>

>

>

Sortida:

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

Utilitzant argsort()

mètode argsort(). és una manera indirecta d'ordenar la matriu NumPy al llarg d'un eix determinat.

cadena a objecte json

Torna un matriu d'índexs que ordenaria la matriu original en ordre ascendent.

Exemple

Utilitzant argsort() per ordenar elements a la matriu NumPy

Python 3




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)>

>

>

Sortida:

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

Ús de la seqüència de tecles

Ordenar una matriu mitjançant una seqüència de tecles ens permet ordenar una matriu en funció de diversos criteris.

Podeu utilitzar aquest mètode amb la funció np.lexsort(). La funció lexsort() retorna una matriu d'índexs que ordenarien la matriu original.

cadenes d'ordenació java

Exemple

Obteniu una ordenació estable mitjançant una seqüència de tecles.

Python 3




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)>

>

>

Sortida:

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]>

Comproveu també: Ordenar, cercar i comptar a NumPy

Conclusió

L'ordenació de la matriu NumPy facilita la cerca d'elements duplicats, màxims i mínims. És una operació essencial de manipulació de dades, que facilita el treball amb dades.

En aquest tutorial, hem tractat tres mètodes sobre com ordenar una matriu a NumPy, és a dir, sort(), argsort() i lexsort(). Tots aquests mètodes proporcionen diferents funcionalitats per ordenar ndarray a NumPy. Hem explicat els mètodes amb paraules fàcils amb exemples per donar-vos una comprensió completa del tema.