logo

NumPy Array Triedenie | Ako triediť NumPy Array

Triedenie poľa je veľmi dôležitým krokom v analýze údajov, pretože pomáha pri zoraďovaní údajov a uľahčuje vyhľadávanie a čistenie.

V tomto návode sa to naučíme ako triediť pole v NumPy . Pole môžete zoradiť v NumPy:

  • Pomocou funkcie np.sort().
    • in-line triedenie
    • triedenie podľa rôznych osí
  • Použitie funkcie np.argsort().
  • Pomocou funkcie np.lexsort().

Použitie funkcie sort().

metóda sort() triedi prvok danej dátovej štruktúry (tu pole). Zavolajte funkciu triedenia s objektom poľa na triedenie prvkov.



Existujú dva prípady triedenia poľa pomocou metódy sort():

  • Zoraďte pole NumPy na miesto
  • Zoradiť pole NumPy pozdĺž osí

Obe tieto metódy pokryjeme príkladom nižšie:

Zoradiť pole na mieste

Triedenie poľa na mieste znamená priame triedenie pôvodných prvkov poľa.

Nevytvára novú kópiu poľa a je veľmi pamäťovo efektívny.

výhody a nevýhody technológie

Príklad

Použitie metódy sort() na zoradenie prvkov v poli NumPy na mieste.

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

>

>

Výkon:

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

Zoradiť pole pozdĺž rôznych osí

Táto metóda vytvorí zoradenú kópiu daného poľa NumPy.

Väčšinou sa používa vo viacrozmernom poli, keď chcete triediť podľa danej dimenzie.

Príklad

Použitie metódy sort() na prvky v poli NumPy pozdĺž osi

Python3




c program pre dvojrozmerné pole

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

>

>

Výkon:

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

Použitie argsort()

metóda argsort(). je nepriamy spôsob triedenia poľa NumPy pozdĺž danej osi.

Vracia an rad indexov to by zoradilo pôvodné pole vzostupne.

Príklad

Použitie argsort() na triedenie prvkov v poli NumPy

Python3


binárne typy stromov



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

>

>

Výkon:

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

Použitie postupnosti klávesov

Triedenie poľa pomocou sekvencie kľúčov nám umožňuje triediť pole na základe viacerých kritérií.

Túto metódu môžete použiť s funkciou np.lexsort(). Funkcia lexsort() vracia pole indexov, ktoré by zoradili pôvodné pole.

Príklad

Získajte stabilné triedenie pomocou sekvencie klávesov.

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

stiahnite si videá z youtube vlc
>

>

Výkon:

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

Skontrolujte tiež: Triedenie, vyhľadávanie a počítanie v NumPy

Záver

Triedenie poľa NumPy uľahčuje hľadanie duplicitných, maximálnych a minimálnych prvkov. Je to základná operácia manipulácie s údajmi, ktorá uľahčuje prácu s údajmi.

V tomto návode sme sa zaoberali tromi metódami, ako triediť pole v NumPy, tj sort(), argsort() a lexsort(). Všetky tieto metódy poskytujú rôzne funkcie na triedenie ndarray v NumPy. Vysvetlili sme metódy jednoduchými slovami s príkladmi, aby ste úplne pochopili tému.