logo

numpy.unique() Python

Python numpy modulis nodrošina funkciju unikālu elementu atrašanai numpy masīvā. Funkcija numpy.unique() atrod unikālos masīva elementus un atgriež šos unikālos elementus kā sakārtotu masīvu. Papildus unikālajiem elementiem ir arī daži izvēles izvadi, kas ir šādi:

  • Izvade var būt ievades masīva indeksi, kas dod unikālas vērtības
  • Izvade var būt unikālā masīva indeksi, kas rekonstruē ievades masīvu
  • Izvade var būt masīvs, kurā norādīts, cik reižu katra unikālā vērtība nonāk ievades masīvā.

Sintakse

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

Parametri

Šie ir šādi parametri funkcijā numpy.mean():

a: masīva_līdzīgs

Šis parametrs nosaka avota masīvu, kurā ir elementi, kuru unikālās vērtības ir vēlamas. Masīvs tiks saplacināts, ja tas nav 1-D masīvs.

Return_index: bool (neobligāti)

css robeža

Ja šis parametrs ir iestatīts True, funkcija atgriezīs ievades masīva indeksus (gar norādīto asi, ja tāds ir paredzēts, vai saplacinātajā masīvā), kā rezultātā tiks izveidots unikāls masīvs.

return_inverse: bool (neobligāti)

Ja šis parametrs ir iestatīts True, funkcija atgriezīs arī ievades masīva indeksus (gar norādīto asi, ja tāds ir, vai saplacinātajā masīvā), ko var izmantot, lai rekonstruētu ievades masīvu.

Return_counts: bool (neobligāti)

bināro koku veidi

Ja šis parametrs ir iestatīts True, funkcija atgriezīs, cik reižu katrs unikālais vienums ir parādījies ievades masīvā “a”.

ass: iekšējais vai nav (pēc izvēles)

Šis parametrs nosaka asi, uz kuras jādarbojas. Ja šis parametrs nav iestatīts, masīvs “a” tiks saplacināts. Ja šis parametrs ir vesels skaitlis, tad ar dotās ass indeksētās apakšmasīvas tiks saplacinātas un apstrādātas kā 1-D masīva elements ar dotās ass izmēru. Strukturēti masīvi vai objektu masīvi, kuros ir objekti, netiek atbalstīti, ja tiek izmantota ass “kwarg”.

Atgriežas

Šī funkcija atgriež četru veidu izvadus, kas ir šādi:

unikāls: ndarray

Šajā izvadē tiks parādīts ndarray, kas satur sakārtotas unikālas vērtības.

unikālie_indeksi: ndarray (neobligāti)

Šajā izvadē tiks parādīts ndarray, kas satur sākotnējo masīvu unikālo vērtību pirmo gadījumu indeksi. Šī izvade tiek nodrošināta tikai tad, ja return_index vērtība ir True.

unikāls_apgrieztais: ndarray (neobligāti)

Šajā izvadē tiks parādīts ndarray, kurā ir indeksi, lai no unikālā masīva rekonstruētu sākotnējo masīvu. Šī izvade tiek nodrošināta tikai tad, ja return_inverse vērtība ir True.

unikālie_skaiti: ndarray (neobligāti)

Šajā izvadē tiks parādīts ndarray, kurā ir norādīts, cik reižu katra no unikālajām vērtībām parādās sākotnējā masīvā. Šī izvade tiek nodrošināta tikai tad, ja atgriešanās_skaits ir True.

sarakstu kārtot pēc java

1. piemērs:

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

Izvade:

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

Iepriekš minētajā kodā

  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam deklarējuši mainīgo 'a' un piešķīruši funkcijas np.unique() atgriezto vērtību.
  • Mēs esam izturējuši funkcijas elementu skaitu.
  • Visbeidzot, mēs mēģinājām izdrukāt “a” vērtību.

Izvadā ir parādīts ndarray, kas satur unikālus elementus.

2. piemērs:

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

Izvade:

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

3. piemērs:

 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 

Izvade:

globālie mainīgie js
 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]]) 

Iepriekš minētajā kodā

  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši daudzdimensiju masīvu 'a'.
  • Mēs esam deklarējuši mainīgo 'b' un piešķīruši funkcijas np.unique() atgriezto vērtību.
  • Mēs esam nodevuši daudzdimensiju masīvu “a” un asi kā 0 funkcijā.
  • Visbeidzot, mēs mēģinājām izdrukāt “b” vērtību.

Izvadē ir parādīts ndarray, kas satur unikālas avota masīva “a” rindas.

4. piemērs:

 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 

Izvade:

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

Piezīme. Ja mēs iestatām asi kā 1, šī funkcija atgriež unikālās kolonnas no avota masīva.

5. piemērs. Izmantojiet 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] 

Izvade:

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

Iepriekš minētajā kodā

  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši masīvu 'a'.
  • Mēs esam deklarējuši mainīgo 'result' un 'indexes' un piešķīruši funkcijas np.unique() atgriezto vērtību.
  • Mēs esam nokārtojuši masīvu 'a' un funkcijā iestatījuši return_index uz True.
  • Visbeidzot, mēs mēģinājām izdrukāt 'rezultāta', 'indeksu' un masīva elementu vērtību, kas norāda indeksus ('a [indeksi]').

Izvadē ir parādīts ndarray, kas satur sākotnējā masīva indeksi, kas dod unikālas vērtības.

6. piemērs: izmantojiet return_inverse

Mēs varam rekonstruēt ievades masīvu no unikālajām vērtībām šādā veidā:

 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] 

Izvade:

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