Sortowanie tablicy NumPy | Jak sortować tablicę NumPy

Sortowanie tablicy jest bardzo ważnym krokiem w analizie danych, ponieważ pomaga w uporządkowaniu danych oraz ułatwia wyszukiwanie i czyszczenie.

W tym samouczku nauczymy się jak posortować tablicę w NumPy . Możesz sortować tablicę w NumPy:

  • Korzystanie z funkcji np.sort().
    • sortowanie liniowe
    • sortowanie wzdłuż różnych osi
  • Korzystanie z funkcji np.argsort().
  • Korzystanie z funkcji np.lexsort().

Korzystanie z funkcji sort().

metoda sort() sortuje element danej struktury danych (tutaj tablica). Wywołaj funkcję sortowania z obiektem tablicy, aby posortować elementy.

Istnieją dwa przypadki sortowania tablicy za pomocą metody sort():

  • Sortuj tablicę NumPy na miejscu
  • Sortuj tablicę NumPy wzdłuż osi

Obie te metody omówimy w poniższym przykładzie:

Sortuj tablicę na miejscu

Sortowanie tablicy w miejscu oznacza bezpośrednie sortowanie oryginalnych elementów tablicy.

Nie tworzy nowej kopii tablicy i jest bardzo wydajny pod względem pamięci.

Przykład

Użycie metody sort() do sortowania elementów tablicy NumPy w miejscu.

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

Wyjście:

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

Sortuj tablicę wzdłuż różnych osi

Ta metoda tworzy posortowaną kopię danej tablicy NumPy.

Jest najczęściej używany w tablicy wielowymiarowej, gdy chcesz sortować według danego wymiaru.

Przykład

Użycie metody sort() do elementów tablicy NumPy wzdłuż osi

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

Wyjście:

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

Używanie argumentu()

metoda argsort(). to pośredni sposób sortowania tablicy NumPy wzdłuż danej osi.

Zwraca tablica indeksów to posortowałoby oryginalną tablicę w porządku rosnącym.

Przykład

Używanie argsort() do sortowania elementów w tablicy 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)>

Wyjście:

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

Korzystanie z sekwencji klawiszy

Sortowanie tablicy za pomocą sekwencji kluczy pozwala nam sortować tablicę na podstawie wielu kryteriów.

Możesz użyć tej metody z funkcją np.lexsort(). Funkcja lexsort() zwraca tablicę indeksów, które posortowałyby oryginalną tablicę.

Przykład

Uzyskaj stabilne sortowanie za pomocą sekwencji kluczy.

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

Wyjście:

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] 

Sprawdź także: Sortowanie, wyszukiwanie i liczenie w NumPy

Wniosek

Sortowanie tablicy NumPy ułatwia znajdowanie zduplikowanych, maksymalnych i minimalnych elementów. Jest to podstawowa operacja manipulacji danymi, ułatwiająca pracę z danymi.

W tym samouczku omówiliśmy trzy metody sortowania tablicy w NumPy, tj. sort(), argsort() i lexsort(). Wszystkie te metody zapewniają różne funkcje sortowania ndarray w NumPy. Wyjaśniliśmy metody w łatwy sposób z przykładami, aby zapewnić pełne zrozumienie tematu.