Поиск в массивах NumPy

поиск массива

Вы можете искать (получать) определённое значение в массиве и затем возвращать индексы, соответствующие этим значениям.

Чтобы搜索 массив, используйте where() метод.

Пример

найти индексы значений, равных 4:

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

Запуск примера

в предыдущем примере будет возвращён тупл:(array([3, 5, 6],)

это означает, что значение 4出现在 индексах 3, 5 и 6.

Пример

найти индексы значений, которые являются чётными:

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

Запуск примера

Пример

найти индексы значений, которые являются нечётными:

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

Запуск примера

поисковой сортировки

имеется имя searchsorted() метод, который выполняет двоичное поисковое исследование в массиве и возвращает индекс, в котором нужно вставить заданное значение, чтобы поддерживать поисковый порядок.

предполагается searchsorted() Этот метод используется для сортировки массива.

Пример

Найти индекс, в который нужно вставить значение 7:

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

Запуск примера

Пример объяснения:Число 7 должно быть вставлено в индекс 1, чтобы Maintain порядок.

Этот метод начинает搜ать слева и возвращает первый индекс, где число 7 уже не больше следующего значения.

Поиск справа

По умолчанию возвращает левый индекс, но мы можем указать side='right', чтобы вернуть правый индекс.

Пример

Начать搜ать справа, чтобы найти индекс, в который нужно вставить значение 7:

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

Запуск примера

Пример объяснения:Число 7 должно быть вставлено в индекс 2, чтобы Maintain порядок.

Этот метод начинает搜ать справа и возвращает первый индекс, где число 7 уже не меньше следующего значения.

Множественные значения

Чтобы искать несколько значений, используйте массив с указанными значениями.

Пример

Найти индекс, в который нужно вставить значения 2, 4 и 6:

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

Запуск примера

Возвратное значение является массивом:[1 2 3] Включает три индекса, в которые будут вставлены 2, 4, 6, чтобы Maintain порядок.