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.