Numpy Python modulis suteikia funkciją, leidžiančią rasti unikalių elementų numpy masyve. Funkcija numpy.unique() suranda unikalius masyvo elementus ir grąžina šiuos unikalius elementus kaip surūšiuotą masyvą. Be unikalių elementų, taip pat yra keletas pasirenkamų išėjimų, kurie yra tokie:
- Išvestis gali būti įvesties masyvo indeksai, suteikiantys unikalias reikšmes
- Išvestis gali būti unikalaus masyvo indeksai, atkuriantys įvesties masyvą
- Išvestis gali būti masyvas, nurodantis, kiek kartų kiekviena unikali reikšmė patenka į įvesties masyvą.
Sintaksė
numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None)
Parametrai
Tai yra šie funkcijos numpy.mean() parametrai:
a: array_like
Šis parametras apibrėžia šaltinio masyvą, kuriame yra elementai, kurių norimos unikalios reikšmės. Masyvas bus išlygintas, jei jis nėra 1-D masyvas.
Grąžinimo_indeksas: bool (neprivaloma)
bash, jei būklė
Jei šis parametras nustatytas True, funkcija grąžins įvesties masyvo indeksus (išilgai nurodytos ašies, jei numatyta, arba suplotame masyve), todėl bus sukurtas unikalus masyvas.
return_inverse: bool (neprivaloma)
Jei šis parametras nustatytas True, funkcija taip pat pateiks įvesties masyvo indeksus (išilgai nurodytos ašies, jei numatyta, arba suplotame masyve), kuriuos galima naudoti rekonstruojant įvesties masyvą.
Grąžinimo_skaičiai: bool (neprivaloma)
Jei šis parametras nustatytas True, funkcija grąžins, kiek kartų kiekvienas unikalus elementas buvo parodytas įvesties masyve „a“.
ašis: vidinė arba nėra (nebūtina)
Šis parametras apibrėžia ašį, kuria reikia veikti. Jei šis parametras nenustatytas, masyvas „a“ bus išlygintas. Jei šis parametras yra sveikasis skaičius, tada pagal nurodytą ašį indeksuotos posistemės bus suplotos ir laikomos 1-D masyvo elementu, kurio matmuo yra nurodytas ašis. Struktūriniai masyvai arba objektų masyvai, kuriuose yra objektai, nepalaikomi, jei naudojama ašis „kwarg“.
Grąžina
Ši funkcija grąžina keturių tipų išvestis, kurios yra tokios:
unikalus: ndarray
Šiame išvestyje bus rodomas ndarray, kuriame yra surūšiuotos unikalios reikšmės.
unikalūs_indeksai: ndarray (neprivaloma)
verilog parametras
Šiame išvestyje bus rodomas ndarray, kuriame yra pirmųjų unikalių reikšmių pirminiame masyve indeksai. Ši išvestis pateikiama tik tuo atveju, jei return_index yra True.
unikalus_inverse: ndarray (neprivaloma)
Šiame išvestyje bus rodomas ndarray, kuriame yra indeksai, skirti atkurti originalų masyvą iš unikalaus masyvo. Ši išvestis pateikiama tik tuo atveju, jei return_inverse yra True.
unikalūs_skaičiai: ndarray (neprivaloma)
Šiame išvestyje bus rodomas ndarray, kuriame yra skaičius, kiek kartų kiekviena unikali reikšmė atsiranda pradiniame masyve. Ši išvestis pateikiama tik tuo atveju, jei return_counts yra True.
JAV miesto pavadinimas
1 pavyzdys:
import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a
Išvestis:
array([1, 2, 3, 4, 6])
Aukščiau pateiktame kode
- Mes importavome numpy su slapyvardžiu np.
- Mes paskelbėme kintamąjį „a“ ir priskyrėme grąžintą funkcijos np.unique() reikšmę.
- Perdavėme funkcijos elementų skaičių.
- Galiausiai bandėme atspausdinti „a“ reikšmę.
Išvestyje buvo parodytas ndarray, kuriame yra unikalių elementų.
2 pavyzdys:
a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b
Išvestis:
array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9])
3 pavyzdys:
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
Išvestis:
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]])
Aukščiau pateiktame kode
- Mes importavome numpy su slapyvardžiu np.
- Sukūrėme daugiamatį masyvą „a“.
- Mes paskelbėme kintamąjį „b“ ir priskyrėme grąžintą funkcijos np.unique() reikšmę.
- Mes perdavėme daugiamatį masyvą „a“ ir ašį kaip 0 funkcijoje.
- Galiausiai bandėme atspausdinti „b“ reikšmę.
Išvestyje parodytas ndarray, kuriame yra unikalių šaltinio masyvo „a“ eilučių.
4 pavyzdys:
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
Išvestis:
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]])
Pastaba: Kai nustatome ašį kaip 1, ši funkcija grąžina unikalius stulpelius iš šaltinio masyvo.
5 pavyzdys: naudokite 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]
Išvestis:
array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1')
Aukščiau pateiktame kode
java listbox
- Mes importavome numpy su slapyvardžiu np.
- Sukūrėme masyvą „a“.
- Mes paskelbėme kintamuosius 'result' ir 'indexes' ir priskyrėme grąžintą funkcijos np.unique() reikšmę.
- Mes perdavėme masyvą „a“ ir funkcijoje nustatėme return_index į True.
- Galiausiai bandėme atspausdinti „rezultato“, „indeksų“ ir masyvo elementų reikšmę, kuri nurodo indeksus („a [indeksai]“).
Išvestyje buvo parodytas ndarray, kuriame yra originalaus masyvo indeksai, suteikiantys unikalias reikšmes.
6 pavyzdys: naudokite return_inverse
Įvesties masyvą galime atkurti iš unikalių reikšmių tokiu būdu:
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]
Išvestis:
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])