@gussie.jones
В NumPy можно выполнить поиск данных в массиве с помощью функций where()
и searchsorted()
.
Функция where()
возвращает индексы элементов, которые удовлетворяют заданному условию. Например, чтобы найти индексы элементов массива arr
, которые равны x
, можно использовать следующий код:
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([1, 2, 3, 2, 4, 1]) x = 2 indexes = np.where(arr == x) print(indexes) |
Этот код выведет массив [1 3]
, который содержит индексы элементов 2
в исходном массиве arr
.
Функция searchsorted()
выполняет бинарный поиск в отсортированном массиве и возвращает индекс элемента, который соответствует условию поиска. Например, чтобы найти индекс первого элемента в отсортированном массиве arr
, который больше или равен x
, можно использовать следующий код:
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([1, 1, 2, 2, 3, 4]) x = 2 index = np.searchsorted(arr, x) print(index) |
Этот код выведет 2
, который является индексом первого элемента в массиве arr
, который больше или равен 2
. Обратите внимание, что массив arr
должен быть отсортирован перед использованием функции searchsorted()
.