logo

numpy.unique() Pythonban

A Python numpy modulja funkciót biztosít egyedi elemek megtalálásához egy numpy tömbben. A numpy.unique() függvény megkeresi egy tömb egyedi elemeit, és rendezett tömbként adja vissza ezeket az egyedi elemeket. Az egyedi elemeken kívül van néhány opcionális kimenet is, amelyek a következők:

  • A kimenet lehet a bemeneti tömb indexei, amelyek az egyedi értékeket adják
  • A kimenet lehet az egyedi tömb indexei, amelyek rekonstruálják a bemeneti tömböt
  • A kimenet lehet egy tömb, amely ahányszor minden egyedi érték megjelenik a bemeneti tömbben.

Szintaxis

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

Paraméterek

Ezek a következő paraméterek a numpy.mean() függvényben:

a: array_like

Ez a paraméter határozza meg azt a forrástömböt, amely olyan elemeket tartalmaz, amelyek egyedi értékeit kívánják. A tömb lapításra kerül, ha nem egydimenziós tömb.

Visszatérési_index: bool (nem kötelező)

hogyan lehet karakterláncot karakterré alakítani

Ha ez a paraméter igaz, akkor a függvény visszaadja a bemeneti tömb indexeit (a megadott tengely mentén, ha van, vagy a lapított tömbben), ami az egyedi tömböt eredményezi.

return_inverse: bool (opcionális)

Ha ez a paraméter igaz, akkor a függvény a bemeneti tömb indexeit is visszaadja (a megadott tengely mentén, ha van, vagy a lapított tömbben), amelyek segítségével rekonstruálható a bemeneti tömb.

Return_counts: bool (opcionális)

Ha ez a paraméter igaz, akkor a függvény visszaadja, hogy az egyes egyedi elemek hányszor jelentek meg az „a” bemeneti tömbben.

tengely: belső vagy nincs (opcionális)

Ez a paraméter határozza meg azt a tengelyt, amelyen dolgozni kell. Ha ez a paraméter nincs beállítva, akkor az 'a' tömb lapításra kerül. Ha ez a paraméter egy egész szám, akkor az adott tengely által indexelt altömbök lapításra kerülnek, és egy 1-D tömb elemeként kezelik az adott tengely méretével. A strukturált tömbök vagy az objektumokat tartalmazó objektumtömbök nem támogatottak, ha a „kwarg” tengelyt használják.

Visszatér

Ez a függvény négyféle kimenetet ad vissza, amelyek a következők:

egyedi: ndarray

duplán a string java

Ebben a kimenetben egy ndarray jelenik meg, amely rendezett egyedi értékeket tartalmaz.

egyedi_indexek: ndarray (nem kötelező)

Ebben a kimenetben egy ndarray jelenik meg, amely tartalmazza az eredeti tömbben lévő egyedi értékek első előfordulásának indexeit. Ez a kimenet csak akkor jelenik meg, ha a return_index értéke True.

egyedi_inverz: ndarray (nem kötelező)

Ebben a kimenetben egy ndarray jelenik meg, amely tartalmazza az eredeti tömb egyedi tömbből történő rekonstruálásához szükséges indexeket. Ez a kimenet csak akkor jelenik meg, ha a return_inverse értéke True.

egyedi_számok: ndarray (nem kötelező)

Ebben a kimenetben egy ndarray jelenik meg, amely tartalmazza, hogy az egyes egyedi értékek hányszor fordulnak elő az eredeti tömbben. Ez a kimenet csak akkor jelenik meg, ha a return_counts True.

próbáld elkapni a java-t

1. példa:

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Deklaráltuk az 'a' változót, és hozzárendeltük az np.unique() függvény visszaadott értékét.
  • Átadtuk a függvény elemeinek számát.
  • Végül megpróbáltuk kinyomtatni az „a” értékét.

A kimenetben egy ndarray látható, amely egyedi elemeket tartalmaz.

2. példa:

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

Kimenet:

videó letöltés a youtube vlc-ről
 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

3. példa:

 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 

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy többdimenziós 'a' tömböt.
  • Deklaráltuk a 'b' változót, és hozzárendeltük az np.unique() függvény visszaadott értékét.
  • Az 'a' többdimenziós tömböt és a tengelyt 0-nak adtuk át a függvényben.
  • Végül megpróbáltuk kinyomtatni a „b” értékét.

A kimenetben egy ndarray látható, amely az 'a' forrástömb egyedi sorait tartalmazza.

4. példa:

 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 

Kimenet:

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

Megjegyzés: Ha az tengelyt 1-re állítjuk, akkor ez a függvény a forrástömb egyedi oszlopait adja vissza.

5. példa: A return_index használata

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy 'a' tömböt.
  • Deklaráltuk az 'result' és 'indexes' változókat, és hozzárendeltük az np.unique() függvény visszaadott értékét.
  • Átadtuk az 'a' tömböt, és a függvényben a return_index értéket igazra állítottuk.
  • Végül megpróbáltuk kinyomtatni az 'result', 'indexes' és tömbelemek értékét, amelyek az indexeket ('a [indexes]') jelzik.

A kimenetben egy ndarray látható, amely tartalmazza az eredeti tömb egyedi értékeket adó indexeit.

6. példa: Használja a return_inverse

A bemeneti tömböt az egyedi értékekből a következő módon rekonstruálhatjuk:

 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] 

Kimenet:

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