Учебник по NumPy

ГЛАВНАЯ Введение в NumPy Начало работы с NumPy NumPy Создание массивов Индексация массива NumPy Нарезка массива NumPy Типы данных NumPy Копирование NumPy против просмотра Форма массива NumPy Изменение формы массива NumPy Итерация массива NumPy Объединение массивов NumPy Разделение массива NumPy Поиск массива NumPy Сортировка массива NumPy Фильтр массива NumPy

NumPy Случайный

Случайное вступление Распределение данных Случайная перестановка Морской модуль Нормальное распределение Биномиальное распределение Распределение рыбы Равномерное распределение Логистическая дистрибуция Полиномиальное распределение Экспоненциальное распределение Распределение площади Чи Рэлеевское распределение Распределение Парето Распределение Zipf

NumPy ufunc

Введение ufunc Создать функцию ufunc Простая арифметика ufunc Округление десятичных знаков Журналы UFUNC ufunc Суммирование продукты ufunc Отличия ufunc ufunc Поиск LCM ufunc Поиск НОД ufunc Тригонометрический ufunc Гиперболический ufunc набор операций

Викторина/Упражнения

Викторина 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, чтобы сохранить порядок сортировки.

Метод начинает поиск слева и возвращает первый индекс, где число 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, чтобы сохранить порядок сортировки.

Метод начинает поиск справа и возвращает первый индекс, где число 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 должны быть вставлены в исходный массив для сохранения порядка.


Проверьте себя с помощью упражнений

Упражнение:

Используйте правильный метод NumPy, чтобы найти все элементы со значением 4.

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

x = np.(arr == 4)