NumPy Array Søgning
- Forrige Side NumPy Array Deling
- Næste Side NumPy Array Sortering
søge i array
Du kan søge efter (få fat i) en værdi i en array og derefter returnere de indekser, der matcher.
For at søge i en array, brug where()
metode.
Eksempel
find indexene for værdien 4:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 4, 4]) x = np.where(arr == 4) print(x)
i det foregående eksempel vil det returnere en tuple:(array([3, 5, 6],)
det betyder, at værdien 4 findes i indekserne 3, 5 og 6.
Eksempel
find indexene for værdierne med et lige tal:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 0) print(x)
Eksempel
find indexene for værdierne med et ulige tal:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 1) print(x)
søgeoptimering
der er en som hedder searchsorted()
metoden, som udfører binær søgning i en array og returnerer indekset, hvor den specifikke værdi skal indsættes for at opretholde søgefølgen.
antag searchsorted()
Metoden bruges til at sortere arrays.
Eksempel
Find indekset, hvor værdien 7 skal indsættes:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7) print(x)
Eksempel Forklaring:Tal 7 skal indsættes ved indeks 1 for at opretholde sorteringsrækkefølgen.
Metoden søger fra venstre og returnerer den første indeks, hvor tallet 7 ikke længere er større end det næste tal.
Søg fra højre
Som standard returneres den venstreste indeks, men vi kan angive side='right'
for at returnere den højreste indeks.
Eksempel
Søg fra højre for at finde indekset, hvor værdien 7 skal indsættes:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
Eksempel Forklaring:Tal 7 skal indsættes ved indeks 2 for at opretholde sorteringsrækkefølgen.
Metoden søger fra højre og returnerer den første indeks, hvor tallet 7 ikke længere er mindre end det næste tal.
Flere værdier
For at søge flere værdier, brug et array med de ønskede værdier.
Eksempel
Find de indekser, hvor værdierne 2, 4 og 6 skal indsættes:
import numpy as np arr = np.array([1, 3, 5, 7]) x = np.searchsorted(arr, [2, 4, 6]) print(x)
Returværdien er en array:[1 2 3]
Inkluderer tre indekser, hvor 2, 4, 6 vil blive indsat i det oprindelige array for at opretholde rækkefølgen.
- Forrige Side NumPy Array Deling
- Næste Side NumPy Array Sortering