NumPy Array sökning
- Föregående sida NumPy Array delning
- Nästa sida NumPy Array sortering
Sök array
Du kan söka efter ett värde i en array (fånga upp) och sedan returnera de matchande indexen.
För att söka i en array, använd where()
metod.
Exempel
Sök index för värdet 4:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 4, 4]) x = np.where(arr == 4) print(x)
I föregående exempel returnerar det en tupel:(array([3, 5, 6],)
Det innebär att värdet 4 finns på index 3, 5 och 6.
Exempel
Sök index för jämna värden:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 0) print(x)
Exempel
Sök index för ojämna värden:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 1) print(x)
sökordning
Det finns en namn searchsorted()
metoden, som utför binär sökning i en array och returnerar indexet där den specifika värdet kan läggas till för att behålla sökordningen.
Anta searchsorted()
Metoden används för att sortera arrayer.
Exempel
Sök efter index där värdet 7 bör infogas:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7) print(x)
Exempel förklaring:Till index 1 bör talet 7 infogas för att behålla sorteringsordningen.
Metoden söker från vänster och returnerar den första indexen där talet 7 inte längre är större än nästa värde.
Sök från höger
Som standard returneras den vänstra indexen, men vi kan ange side='right'
För att returnera den högra indexen.
Exempel
Sök efter index där värdet 7 bör infogas från höger:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
Exempel förklaring:Till index 2 bör talet 7 infogas för att behålla sorteringsordningen.
Metoden söker från höger och returnerar den första indexen där talet 7 inte längre är mindre än nästa värde.
Flera värden
För att söka efter flera värden, använd en array med specifika värden.
Exempel
Sök efter index där värdena 2, 4 och 6 bör infogas:
import numpy as np arr = np.array([1, 3, 5, 7]) x = np.searchsorted(arr, [2, 4, 6]) print(x)
Returvärdet är en array:[1 2 3]
Innehåller tre index, där 2, 4 och 6 kommer att infogas i den ursprungliga arrayen för att behålla ordningen.
- Föregående sida NumPy Array delning
- Nästa sida NumPy Array sortering