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.