NumPy пересечение двух массивов

  1. Пересечение NumPy с методом numpy.in1d() в Python
  2. Пересечение NumPy с методом numpy.intersect1d() в Python

В этом руководстве будут представлены методы выполнения пересечения массивов NumPy в Python.

Пересечение NumPy с методом numpy.in1d() в Python

Пересечение означает общие элементы в двух наборах элементов. Если мы хотим найти пересечение двух одномерных массивов NumPy, мы можем использовать метод numpy.in1d() в Python. Метод numpy.in1d() принимает два массива, проверяет, присутствует ли каждый элемент первого массива во втором массиве, и возвращает логический массив, который содержит true для каждого элемента, присутствующего в обоих массивах, и false для каждого присутствующего элемента. в первом массиве, но не во втором массиве. Мы можем использовать этот результирующий массив в качестве первого индекса массива, чтобы получить общие элементы в обоих массивах.

import numpy as np

A = np.array([2,3,5,7,11])

B = np.array([1,3,5,7,9])

C = A[np.in1d(A, B)]
print(C)

Выход:

[3 5 7]

Сначала мы создали два массива с помощью метода np.array(). Затем мы сохранили пересечение обоих массивов внутри массива C с помощью C = A[np.in1d(A, B)].

Пересечение NumPy с методом numpy.intersect1d() в Python

Мы также можем использовать метод numpy.intersect1d(), чтобы найти пересечение двух одномерных массивов в Python. Метод numpy.intersect1d() берет массивы и возвращает отсортированное пересечение в виде другого одномерного массива. См. Следующий пример кода.

import numpy as np

A = np.array([2,3,5,7,11])

B = np.array([1,3,5,7,9])

C = np.intersect1d(A, B)
print(C)

Выход:

[3 5 7]

Мы сохранили пересечение массивов A и B внутри массива C с помощью метода numpy.intersect1d() в приведенном выше коде.

Оба метода работают нормально, но метод np.intersect1d() проще в использовании, чем метод np.in1d().