Wyszukiwanie tablic w NumPy

Wyszukiwanie tablicy

Możesz wyszukiwać (wyszukiwać) pewną wartość w tablicy i zwrócić uzyskane indeksy dopasowania.

Aby wyszukać tablicę, użyj where() metoda

Przykład

Znajdź indeks wartości 4:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

Uruchomienie przykładu

W przykładzie ten zwróci krotkę:(array([3, 5, 6],)

Oznacza to, że wartość 4 pojawia się w indeksach 3, 5 i 6.

Przykład

Znajdź indeks wartości parzystej:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

Uruchomienie przykładu

Przykład

Znajdź indeks wartości nieparzystej:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

Uruchomienie przykładu

wyszukiwanie sortowane

ma nazwę searchsorted() metoda, która wykonuje dwubitowe wyszukiwanie w tablicy i zwraca indeks, w którym można wstawić określone wartości, aby zachować porządek wyszukiwania.

Założenie searchsorted() Metoda służy do sortowania tablic.

Przykład

Znajdź indeks, w którym należy wstawić wartość 7:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

Uruchomienie przykładu

Przykład wyjaśnienia:Liczba 7 powinna być wstawiona na indeksie 1, aby utrzymać kolejność.

Metoda zaczyna od lewej strony i zwraca pierwszy indeks, w którym liczba 7 już nie jest większa niż następna wartość.

Wyszukiwanie z prawej strony

Domyślnie zwraca najlejszy indeks, ale możemy określić side='right', aby zwrócić najprawiejszy indeks.

Przykład

Znajdź indeks, w którym należy wstawić wartość 7, zaczynając od prawej strony:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

Uruchomienie przykładu

Przykład wyjaśnienia:Liczba 7 powinna być wstawiona na indeksie 2, aby utrzymać kolejność.

Metoda zaczyna od prawej strony i zwraca pierwszy indeks, w którym liczba 7 już nie jest mniejsza niż następna wartość.

Wiele wartości

Aby wyszukać wiele wartości, użyj tablicy zawierającej określone wartości.

Przykład

Znajdź indeksy, w których należy wstawić wartości 2, 4 i 6:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

Uruchomienie przykładu

Zwróconą wartością jest tablica:[1 2 3] Zawiera trzy indeksy, w których zostaną wstawione 2, 4, 6, aby utrzymać kolejność.