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