Tablice wyszukiwania NumPy


Wyszukiwanie tablic

Możesz przeszukać tablicę pod kątem określonej wartości i zwrócić indeksy, które uzyskają dopasowanie.

Aby przeszukać tablicę, użyj where()metody.

Przykład

Znajdź indeksy, których wartość wynosi 4:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 4, 4])

x = np.where(arr == 4)

print(x)

Powyższy przykład zwróci krotkę:(array([3, 5, 6],)

Co oznacza, że ​​wartość 4 występuje przy indeksie 3, 5 i 6.

Przykład

Znajdź indeksy, w których wartości są parzyste:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 0)

print(x)

Przykład

Znajdź indeksy, w których wartości są nieparzyste:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 1)

print(x)


Wyszukaj posortowane

Istnieje wywoływana metoda, searchsorted()która wykonuje wyszukiwanie binarne w tablicy i zwraca indeks, w którym zostałaby wstawiona określona wartość, aby zachować kolejność wyszukiwania.

Zakłada searchsorted()się, że metoda jest używana na posortowanych tablicach.

Przykład

Znajdź indeksy, w których należy wstawić wartość 7:

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7)

print(x)

Wyjaśnienie przykładu: liczba 7 powinna być wstawiona do indeksu 1, aby zachować porządek sortowania.

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

Szukaj z prawej strony

Domyślnie zwracany jest lewy indeks, ale side='right'zamiast tego możemy zwrócić indeks lewy najbardziej.

Przykład

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

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7, side='right')

print(x)

Wyjaśniony przykład: liczba 7 powinna zostać wstawiona do indeksu 2, aby zachować porządek sortowania.

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

Wiele wartości

Aby wyszukać więcej niż jedną wartość, użyj tablicy z określonymi wartościami.

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)

Wartość zwracana to tablica: [1 2 3]zawierająca trzy indeksy, w których 2, 4, 6 zostałyby wstawione do oryginalnej tablicy, aby zachować porządek.


Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Użyj poprawnej metody NumPy, aby znaleźć wszystkie elementy o wartości 4.

arr = np.array([1, 2, 3, 4, 5, 4, 4])

x = np.(arr == 4)