logo

numpy.unique() v Pythonu

Numpy modul Pythonu poskytuje funkci pro hledání jedinečných prvků v numpy poli. Funkce numpy.unique() najde jedinečné prvky pole a vrátí tyto jedinečné prvky jako seřazené pole. Kromě jedinečných prvků existují také některé volitelné výstupy, které jsou následující:

  • Výstupem mohou být indexy vstupního pole, které dávají jedinečné hodnoty
  • Výstupem mohou být indexy jedinečného pole, které rekonstruuje vstupní pole
  • Výstupem může být pole, kolikrát každá jedinečná hodnota vstoupila do vstupního pole.

Syntax

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

Parametry

Toto jsou následující parametry ve funkci numpy.mean():

a: array_like

Tento parametr definuje zdrojové pole obsahující prvky, jejichž jedinečné hodnoty jsou požadovány. Pole bude sloučeno, pokud se nejedná o 1-D pole.

Return_index: bool (volitelné)

np.unikátní

Pokud je tento parametr nastaven na hodnotu True, funkce vrátí indexy vstupního pole (podél zadané osy, je-li k dispozici, nebo ve zploštělém poli), což má za následek jedinečné pole.

return_inverse: bool(volitelné)

Pokud je tento parametr nastaven na hodnotu True, funkce také vrátí indexy vstupního pole (podél zadané osy, pokud je k dispozici, nebo ve zploštělém poli), které lze použít k rekonstrukci vstupního pole.

Return_counts: bool (volitelné)

zablokovaná čísla

Pokud je tento parametr nastaven na hodnotu True, funkce vrátí, kolikrát se každá jedinečná položka objevila ve vstupním poli 'a'.

osa: int nebo žádná (volitelné)

Tento parametr definuje osu, na které se má pracovat. Pokud tento parametr není nastaven, pole 'a' bude sloučeno. Pokud je tento parametr celé číslo, pak podpole indexované danou osou budou zploštěny a považovány za prvek 1-D pole s rozměrem dané osy. Pokud je použita osa 'kwarg', nejsou podporována strukturovaná pole nebo pole objektů, která obsahují objekty.

Návraty

Tato funkce vrací čtyři typy výstupů, které jsou následující:

jedinečný: ndarray

V tomto výstupu se zobrazí ndarray, který obsahuje seřazené jedinečné hodnoty.

jedinečné_indexy: ndarray(volitelné)

V tomto výstupu se zobrazí ndarray, který obsahuje indexy prvních výskytů jedinečných hodnot v původním poli. Tento výstup je poskytnut pouze v případě, že return_index má hodnotu True.

unique_inverse: ndarray(volitelné)

V tomto výstupu se zobrazí ndarray, který obsahuje indexy pro rekonstrukci původního pole z jedinečného pole. Tento výstup je poskytnut pouze v případě, že return_inverse má hodnotu True.

jedinečný_počet: ndarray(volitelné)

V tomto výstupu se zobrazí ndarray, který obsahuje, kolikrát se každá z jedinečných hodnot objevila v původním poli. Tento výstup je poskytován pouze v případě, že return_counts má hodnotu True.

pole c řetězec

Příklad 1:

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

Výstup:

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

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Deklarovali jsme proměnnou 'a' a přiřadili vrácenou hodnotu funkce np.unique().
  • Předali jsme počet prvků ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu 'a'.

Ve výstupu byl zobrazen ndarray, který obsahuje jedinečné prvky.

Příklad 2:

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

Výstup:

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

Příklad 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 

Výstup:

matice v programování v c
 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]]) 

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme vícerozměrné pole 'a'.
  • Deklarovali jsme proměnnou 'b' a přiřadili vrácenou hodnotu funkce np.unique().
  • Předali jsme vícerozměrné pole 'a' a osu jako 0 ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu 'b'.

Ve výstupu byl ukázán ndarray, který obsahuje jedinečné řádky zdrojového pole 'a'.

Příklad 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 

Výstup:

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

Poznámka: Když nastavíme osu jako 1, pak tato funkce vrátí jedinečné sloupce ze zdrojového pole.

Příklad 5: Použijte 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] 

Výstup:

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

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme pole 'a'.
  • Deklarovali jsme proměnné 'výsledek' a 'indexy' a přiřadili vrácenou hodnotu funkce np.unique().
  • Předali jsme pole 'a' a ve funkci jsme nastavili return_index na True.
  • Nakonec jsme se pokusili vytisknout hodnotu prvků 'výsledek', 'indexy' a pole, která označuje indexy ('a [indexy]').

Ve výstupu byl zobrazen ndarray, který obsahuje indexy původního pole, které dávají jedinečné hodnoty.

Příklad 6: Použijte return_inverse

Vstupní pole můžeme rekonstruovat z jedinečných hodnot následujícím způsobem:

 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] 

Výstup:

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