logo

numpy.unique() v Pythone

Numpy modul Pythonu poskytuje funkciu na nájdenie jedinečných prvkov v numpy poli. Funkcia numpy.unique() nájde jedinečné prvky poľa a vráti tieto jedinečné prvky ako zoradené pole. Okrem jedinečných prvkov existujú aj niektoré voliteľné výstupy, ktoré sú nasledovné:

  • Výstupom môžu byť indexy vstupného poľa, ktoré dávajú jedinečné hodnoty
  • Výstupom môžu byť indexy jedinečného poľa, ktoré rekonštruuje vstupné pole
  • Výstupom môže byť pole, koľkokrát každá jedinečná hodnota prichádza do vstupného poľa.

Syntax

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

Parametre

Toto sú nasledujúce parametre vo funkcii numpy.mean():

a: array_like

Tento parameter definuje zdrojové pole obsahujúce prvky, ktorých jedinečné hodnoty sú požadované. Pole bude sploštené, ak nejde o 1-D pole.

Return_index: bool (voliteľné)

nový riadkový python

Ak je tento parameter nastavený na hodnotu True, funkcia vráti indexy vstupného poľa (pozdĺž špecifikovanej osi, ak je zadaná, alebo v sploštenom poli), čo vedie k jedinečnému poli.

return_inverse: bool(voliteľné)

Ak je tento parameter nastavený na hodnotu True, funkcia vráti aj indexy vstupného poľa (pozdĺž zadanej osi, ak je k dispozícii, alebo v sploštenom poli), ktoré možno použiť na rekonštrukciu vstupného poľa.

Return_counts: bool (voliteľné)

Ak je tento parameter nastavený na hodnotu True, funkcia vráti, koľkokrát sa každá jedinečná položka objavila vo vstupnom poli 'a'.

os: int alebo žiadna (voliteľné)

Tento parameter definuje os, na ktorej sa má pracovať. Ak tento parameter nie je nastavený, pole 'a' bude sploštené. Ak je tento parameter celé číslo, potom podpolia indexované danou osou budú vyrovnané a bude sa s nimi zaobchádzať ako s prvkom 1-D poľa s rozmerom danej osi. Štruktúrované polia alebo polia objektov, ktoré obsahujú objekty, nie sú podporované, ak sa použije os 'kwarg'.

Návraty

Táto funkcia vracia štyri typy výstupov, ktoré sú nasledovné:

jedinečný: ndarray

poradie náhodne v sql

V tomto výstupe sa zobrazí ndarray, ktorý obsahuje zoradené jedinečné hodnoty.

jedinečné_indexy: ndarray (voliteľné)

V tomto výstupe sa zobrazí ndarray, ktorý obsahuje indexy prvých výskytov jedinečných hodnôt v pôvodnom poli. Tento výstup sa poskytuje iba vtedy, ak má return_index hodnotu True.

unique_inverse: ndarray (voliteľné)

V tomto výstupe sa zobrazí ndarray, ktorý obsahuje indexy na rekonštrukciu pôvodného poľa z jedinečného poľa. Tento výstup sa poskytuje iba vtedy, ak má return_inverse hodnotu True.

unique_counts: ndarray (voliteľné)

V tomto výstupe sa zobrazí ndarray, ktorý obsahuje počet výskytov každej z jedinečných hodnôt v pôvodnom poli. Tento výstup sa poskytuje iba vtedy, ak má return_counts hodnotu True.

celé číslo na reťazec

Príklad 1:

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

Výkon:

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

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Deklarovali sme premennú 'a' a priradili vrátenú hodnotu funkcie np.unique().
  • Prešli sme počet prvkov vo funkcii.
  • Nakoniec sme sa pokúsili vytlačiť hodnotu „a“.

Vo výstupe bol zobrazený ndarray, ktorý obsahuje jedinečné prvky.

Príklad 2:

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

Výkon:

java bublinové triedenie
 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Prí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ýkon:

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

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Vytvorili sme viacrozmerné pole „a“.
  • Deklarovali sme premennú 'b' a priradili vrátenú hodnotu funkcie np.unique().
  • Vo funkcii sme odovzdali viacrozmerné pole 'a' a os ako 0.
  • Nakoniec sme sa pokúsili vytlačiť hodnotu 'b'.

Vo výstupe sa ukázal ndarray, ktorý obsahuje jedinečné riadky zdrojového poľa „a“.

Prí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ýkon:

 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: Keď nastavíme os ako 1, potom táto funkcia vráti jedinečné stĺpce zo zdrojového poľa.

Príklad 5: Použite 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ýkon:

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

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Vytvorili sme pole 'a'.
  • Deklarovali sme premenné 'výsledok' a 'indexy' a priradili vrátenú hodnotu funkcie np.unique().
  • Odovzdali sme pole 'a' a vo funkcii sme nastavili return_index na True.
  • Nakoniec sme sa pokúsili vytlačiť hodnotu prvkov 'výsledok', 'indexy' a pole, ktoré označujú indexy ('a [indexy]').

Vo výstupe sa ukázal ndarray, ktorý obsahuje indexy pôvodného poľa, ktoré dávajú jedinečné hodnoty.

Príklad 6: Použite return_inverse

Vstupné pole môžeme rekonštruovať z jedinečných hodnôt nasledujúcim spôsobom:

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

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