Поиск в массивах NumPy
- Предыдущая страница Разделение массивов NumPy
- Следующая страница Сортировка массивов 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 порядок.
- Предыдущая страница Разделение массивов NumPy
- Следующая страница Сортировка массивов NumPy