NumPy Array řazení | Jak třídit NumPy Array

Řazení pole je velmi důležitým krokem v analýze dat, protože pomáhá při řazení dat a usnadňuje vyhledávání a čištění.

V tomto tutoriálu se to naučíme jak třídit pole v NumPy . Pole můžete seřadit v NumPy:

  • Použití funkce np.sort().
    • in-line řazení
    • řazení podle různých os
  • Použití funkce np.argsort().
  • Použití funkce np.lexsort().

Použití funkce sort().

Metoda sort() třídí prvek dané datové struktury (zde pole). Chcete-li prvky seřadit, zavolejte funkci sort s objektem pole.

Existují dva případy řazení pole pomocí metody sort():

  • Seřaďte pole NumPy na místě
  • Seřadit pole NumPy podél os

Obě tyto metody pokryjeme na příkladu níže:

Seřadit pole na místě

Řazení pole na místě znamená přímé řazení původních prvků pole.

Nevytváří novou kopii pole a je velmi efektivní z hlediska paměti.

Příklad

Použití metody sort() k řazení prvků v poli NumPy na místě.

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ýstup:

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

Seřadit pole podél různých os

Tato metoda vytvoří seřazenou kopii daného pole NumPy.

Většinou se používá ve vícerozměrném poli, když chcete třídit podle dané dimenze.

Příklad

Použití metody sort() k prvkům v poli NumPy podél osy

Python3




# 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ýstup:

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

Použití argsort()

metoda argsort(). je nepřímý způsob řazení pole NumPy podél dané osy.

Vrací to an pole indexů to by seřadilo původní pole vzestupně.

Příklad

Použití argsort() k řazení prvků v poli NumPy

Python3




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ýstup:

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

Použití sekvence kláves

Třídění pole pomocí sekvence klíčů nám umožňuje seřadit pole na základě více kritérií.

Tuto metodu můžete použít s funkcí np.lexsort(). Funkce lexsort() vrací pole indexů, které by seřadily původní pole.

Příklad

Získejte stabilní řazení pomocí sekvence klíčů.

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

Výstup:

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] 

Zkontrolujte také: Třídění, vyhledávání a počítání v NumPy

Závěr

Řazení pole NumPy usnadňuje hledání duplicitních, maximálních a minimálních prvků. Je to nezbytná operace manipulace s daty, která usnadňuje práci s daty.

V tomto tutoriálu jsme probrali tři metody, jak třídit pole v NumPy, tj. sort(), argsort() a lexsort(). Všechny tyto metody poskytují různé funkce pro řazení ndarray v NumPy. Vysvětlili jsme metody jednoduchými slovy s příklady, abyste celému tématu porozuměli.