Spec-Zone.ru › NumPy 1.17

numpy.intersect1d

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False) [source]

Найти пересечение двух массивов.

Возвращает отсортированные, уникальные значения, присутствующие в обоих входных массивах.

Параметры:
ar1, ar2 : array_like

Входные массивы. Будут приведены к 1D, если это не так.

assume_unique : bool

Если True, входные массивы считаются уникальными, что может ускорить вычисления. По умолчанию False.

return_indices : bool

Если True, возвращаются индексы, соответствующие пересечению двух массивов. Используется первый экземпляр значения, если их несколько. По умолчанию False.

Добавлена в версии 1.15.0.

Возвращает:
intersect1d : ndarray

Отсортированный 1D массив общих и уникальных элементов.

comm1 : ndarray

Индексы первых вхождений общих значений в ar1. Предоставляются только если return_indices равно True.

comm2 : ndarray

Индексы первых вхождений общих значений в ar2. Предоставляются только если return_indices равно True.

См. также

numpy.lib.arraysetops
Модуль с рядом других функций для выполнения операций над множествами в массивах.

Примеры

>>> np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1])
array([1, 3])

Для пересечения более двух массивов используйте functools.reduce:

>>> from functools import reduce
>>> reduce(np.intersect1d, ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2]))
array([3])

Для возврата индексов значений, общих для входных массивов вместе с пересчитанными значениями:

>>> x = np.array([1, 1, 2, 3, 4])
>>> y = np.array([2, 1, 4, 6])
>>> xy, x_ind, y_ind = np.intersect1d(x, y, return_indices=True)
>>> x_ind, y_ind
(array([0, 2, 4]), array([1, 0, 2]))
>>> xy, x[x_ind], y[y_ind]
(array([1, 2, 4]), array([1, 2, 4]), array([1, 2, 4]))

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.intersect1d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API