Функция isin
Функция isin проверяет, содержатся ли элементы
переданного массива в другом массиве. Результатом
является логический массив (bool) той же формы,
что и первый массив. Это удобно для фильтрации данных
или поиска совпадений.
Синтаксис
np.isin(element, test_elements, assume_unique=False, invert=False)
Параметры функции:
-
element- массив, элементы которого проверяются на вхождение вtest_elements; -
test_elements- массив или множество, в котором ищутся совпадения; -
assume_unique- еслиTrue, ускоряет вычисление за счёт предположения, что элементы вtest_elementsуникальны (по умолчаниюFalse); -
invert- еслиTrue, возвращает логическое отрицание (элементы, которых нет вtest_elements).
Пример
Проверим вхождение элементов одного массива в другой:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
test = np.array([2, 4, 6])
res = np.isin(arr, test)
print(res)
Результат выполнения кода:
[False True False True False]
Логический массив показывает, какие элементы из arr
присутствуют в test.
Пример
Используем результат для фильтрации исходного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
test = np.array([2, 4, 6])
mask = np.isin(arr, test)
filtered = arr[mask]
print(filtered)
Результат выполнения кода:
[2 4]
В результате остались только элементы, которые
присутствуют в массиве test.
Пример
Используем параметр invert для поиска элементов,
которых нет в другом массиве:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
test = np.array([2, 4, 6])
res = np.isin(arr, test, invert=True)
print(res)
Результат выполнения кода:
[ True False True False True]
Теперь True стоит на местах элементов, которых нет
в test.
Пример
Работа с многомерными массивами:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
test = np.array([2, 4, 7])
res = np.isin(arr, test)
print(res)
Результат выполнения кода:
[[False True False]
[ True False False]]
Форма результата совпадает с формой исходного массива
arr.
Смотрите также
-
функцию
in1d,
которая выполняет похожую проверку, но для одномерных массивов -
функцию
intersect1d,
которая возвращает общие элементы двух массивов -
функцию
unique,
которая находит уникальные элементы массива -
функцию
setdiff1d,
которая возвращает элементы первого массива, отсутствующие во втором