Bizonyos esetekben szükségünk van egy rendezett tömbre a számításhoz. Erre a célra a Python numpy modulja egy ún numpy.sort() . Ez a függvény a forrástömb vagy bemeneti tömb rendezett másolatát adja meg.
Szintaxis:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
Paraméterek:
x: array_like
Ez a paraméter határozza meg a rendezendő forrástömböt.
tengely: belső vagy nincs (opcionális)
Ez a paraméter határozza meg azt a tengelyt, amely mentén a rendezés végrehajtódik. Ha ez a paraméter Egyik sem , a tömb a rendezés előtt lapításra kerül, és alapértelmezés szerint ez a paraméter -1, ami az utolsó tengely mentén rendezi a tömböt.
fajta: {gyors rendezés, halom rendezés, összevonás} (opcionális)
Ez a paraméter a rendezési algoritmus meghatározására szolgál, és alapértelmezés szerint a rendezés a használatával történik 'gyors rendezés' .
sorrend: str vagy str listája (nem kötelező)
Ha egy tömb mezőkkel van definiálva, annak sorrendje határozza meg az összehasonlításhoz szükséges mezőket az elsőben, a másodikban stb. Csak az egyetlen mező adható meg karakterláncként, és nem feltétlenül minden mezőre. A nem meghatározott mezőket azonban továbbra is a dtype-ben megjelenő sorrendben használják fel a kapcsolatok megszakításához.
Visszaküldés:
Ez a függvény a forrástömb rendezett másolatát adja vissza, amelynek alakja és típusa megegyezik a forrástömbével.
1. példa:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x) y
Kimenet:
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
A fenti kódban
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy többdimenziós tömböt 'x' segítségével np.array() funkció.
- Deklaráltuk a változót 'és' és hozzárendelte a visszaadott értékét np.sort() funkció.
- Átjutottunk a bemeneti tömbön 'x' a függvényben.
- Végül megpróbáltuk kinyomtatni az értékét 'és' .
A kimenetben a forrástömb azonos típusú és alakú rendezett másolatát mutatja.
2. példa:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x, axis=None) y
Kimenet:
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([ 1, 1, 2, 3, 4, 9, 13, 22, 24, 43, 61, 88])
3. példa:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x,axis=0) y z=np.sort(x,axis=1) z
Kimenet:
szöveg méretű latex
array([[ 1, 4, 2, 1], [ 9, 13, 61, 3], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
4. példa:
import numpy as np dtype = [('name', 'S10'), ('height', float), ('age', int),('gender','S10')] values = [('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'),('Vaishali', 5.2, 30, 'F')] x=np.array(values, dtype=dtype) x y=np.sort(x, order='age') y z=np.sort(x, order=['age','height']) z
Kimenet:
array([('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'), ('Vaishali', 5.2, 30, 'F')],dtype=[('name', 'S10'), ('height', '<f8'), ('age', ' <i4'), ('gender', 's10')]) array([('arpita', 5.6, 23, 'f'), ('shubham', 5.9, 'm'), ('vaishali', 5.2, 30, 'f')], dtype="[('name'," 's10'), ('height', '<f8'), < pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have defined the fields and values for the structured array.</li> <li>We have created a structured array <strong>'x'</strong> by passing dtype and values in the <strong>np.array()</strong> function.</li> <li>We have declared the variables <strong>'y'</strong> and <strong>'z'</strong> , and assigned the returned value of <strong>np.sort()</strong> function.</li> <li>We have passed the input array <strong>'x'</strong> and order in the function.</li> <li>Lastly, we tried to print the value of <strong>'y</strong> ' and <strong>'z'</strong> .</li> </ul> <p>In the output, it shows a sorted copy of the structured array with a defined order.</p> <hr></f8'),>