logo

numpy.rendezni Pythonban

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.

numpy-sort

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([(&apos;Shubham&apos;, 5.9, 23, &apos;M&apos;), (&apos;Arpita&apos;, 5.6, 23, &apos;F&apos;), (&apos;Vaishali&apos;, 5.2, 30, &apos;F&apos;)],dtype=[(&apos;name&apos;, &apos;S10&apos;), (&apos;height&apos;, &apos;<f8'), ('age', ' <i4'), ('gender', 's10')]) array([('arpita', 5.6, 23, 'f'), ('shubham', 5.9, 'm'), ('vaishali', 5.2, 30, 'f')], dtype="[(&apos;name&apos;," '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>&apos;x&apos;</strong> by passing dtype and values in the <strong>np.array()</strong> function.</li> <li>We have declared the variables <strong>&apos;y&apos;</strong> and <strong>&apos;z&apos;</strong> , and assigned the returned value of <strong>np.sort()</strong> function.</li> <li>We have passed the input array <strong>&apos;x&apos;</strong> and order in the function.</li> <li>Lastly, we tried to print the value of <strong>&apos;y</strong> &apos; and <strong>&apos;z&apos;</strong> .</li> </ul> <p>In the output, it shows a sorted copy of the structured array with a defined order.</p> <hr></f8'),>