logo

numpy.unique() w Pythonie

Moduł numpy języka Python udostępnia funkcję wyszukiwania unikalnych elementów w tablicy numpy. Funkcja numpy.unique() wyszukuje unikalne elementy tablicy i zwraca je w postaci posortowanej tablicy. Oprócz unikalnych elementów istnieją również opcjonalne wyjścia, które są następujące:

  • Dane wyjściowe mogą być indeksami tablicy wejściowej, które dają unikalne wartości
  • Dane wyjściowe mogą być indeksami unikalnej tablicy, które rekonstruują tablicę wejściową
  • Dane wyjściowe mogą być tablicą określającą, ile razy każda unikalna wartość pojawia się w tablicy wejściowej.

Składnia

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

Parametry

Oto następujące parametry funkcji numpy.mean():

a: tablica_podobna

Ten parametr definiuje tablicę źródłową zawierającą elementy, których pożądane są unikalne wartości. Tablica zostanie spłaszczona, jeśli nie jest tablicą 1-D.

Return_index: bool (opcjonalnie)

wielopostaciowość

Jeśli ten parametr jest ustawiony na True, funkcja zwróci indeksy tablicy wejściowej (wzdłuż określonej osi, jeśli jest podana lub w tablicy spłaszczonej), co daje w rezultacie unikalną tablicę.

return_inverse: bool (opcjonalnie)

Jeśli ten parametr jest ustawiony na True, funkcja zwróci także indeksy tablicy wejściowej (wzdłuż określonej osi, jeśli jest podana lub w tablicy spłaszczonej), które można wykorzystać do zrekonstruowania tablicy wejściowej.

Return_counts: bool (opcjonalnie)

Jeśli ten parametr jest ustawiony na True, funkcja zwróci liczbę wystąpień każdego unikalnego elementu w tablicy wejściowej „a”.

oś: int lub None (opcjonalnie)

Parametr ten określa oś, na której ma odbywać się operacja. Jeśli ten parametr nie zostanie ustawiony, wówczas tablica „a” zostanie spłaszczona. Jeżeli parametr ten jest liczbą całkowitą, to podtablice indeksowane przez daną oś zostaną spłaszczone i potraktowane jako element tablicy 1-D o wymiarze danej osi. Tablice strukturalne lub tablice obiektów zawierające obiekty nie są obsługiwane, jeśli używana jest oś „kwarg”.

Zwroty

Ta funkcja zwraca cztery typy wyników, które są następujące:

unikalny: ndarray

krojenie tablicy Java

W tym wyniku zostanie wyświetlony ndarray zawierający posortowane unikalne wartości.

unikalne_indices: ndarray (opcjonalnie)

W tym wyniku zostanie wyświetlony ndarray zawierający indeksy pierwszych wystąpień unikalnych wartości w oryginalnej tablicy. To wyjście jest dostępne tylko wtedy, gdy return_index ma wartość True.

Unique_inverse: ndarray (opcjonalnie)

W tym wyniku zostanie wyświetlony ndarray zawierający indeksy umożliwiające zrekonstruowanie oryginalnej tablicy z unikalnej tablicy. To wyjście jest dostępne tylko wtedy, gdy return_inverse ma wartość True.

Unique_counts: ndarray (opcjonalnie)

W tym wyniku zostanie wyświetlony ndarray zawierający liczbę wystąpień każdej z unikalnych wartości w oryginalnej tablicy. To wyjście jest dostępne tylko wtedy, gdy liczba zwrotów ma wartość True.

pętla foreach maszynopisu

Przykład 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

Wyjście:

 array([1, 2, 3, 4, 6]) 

W powyższym kodzie

  • Zaimportowaliśmy numpy z aliasem np.
  • Zadeklarowaliśmy zmienną „a” i przypisaliśmy wartość zwróconą przez funkcję np.unique().
  • Przekazaliśmy liczbę elementów funkcji.
  • Na koniec próbowaliśmy wydrukować wartość „a”.

Na wyjściu pokazano ndarray, który zawiera unikalne elementy.

Przykład 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

Wyjście:

zawiera podciąg Java
 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Przykład 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

Wyjście:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

W powyższym kodzie

  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy wielowymiarową tablicę „a”.
  • Zadeklarowaliśmy zmienną „b” i przypisaliśmy wartość zwróconą przez funkcję np.unique().
  • W funkcji przekazaliśmy wielowymiarową tablicę „a” i oś jako 0.
  • Na koniec próbowaliśmy wydrukować wartość „b”.

Na wyjściu pokazano ndarray zawierający unikalne wiersze tablicy źródłowej „a”.

Przykład 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

Wyjście:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

Uwaga: Kiedy ustawimy oś na 1, ta funkcja zwróci unikalne kolumny z tablicy źródłowej.

Przykład 5: Użyj return_index

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

Wyjście:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

W powyższym kodzie

  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy tablicę „a”.
  • Zadeklarowaliśmy zmienne „result” i „indices” oraz przypisaliśmy wartość zwróconą przez funkcję np.unique().
  • Przekazaliśmy tablicę „a” i w funkcji ustawiliśmy return_index na True.
  • Na koniec próbowaliśmy wydrukować wartość „wyniku”, „indeksów” i elementów tablicy, które wskazują indeksy („a [indeksy]”).

Na wyjściu pokazano ndarray zawierający indeksy oryginalnej tablicy, które dają unikalne wartości.

Przykład 6: Użyj return_inverse

Możemy zrekonstruować tablicę wejściową na podstawie unikalnych wartości w następujący sposób:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

Wyjście:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])