Intersecção NumPy de duas matrizes

Muhammad Maisam Abbas 30 janeiro 2023
  1. Intersecção NumPy com o método numpy.in1d() em Python
  2. Intersecção NumPy com o método numpy.intersect1d() em Python
Intersecção NumPy de duas matrizes

Este tutorial irá apresentar os métodos para realizar a interseção em matrizes NumPy em Python.

Intersecção NumPy com o método numpy.in1d() em Python

Interseção significa os elementos comuns em dois conjuntos de elementos. Se quisermos encontrar a interseção de duas matrizes NumPy 1D, podemos usar o método numpy.in1d() em Python. O método numpy.in1d() pega os dois arrays, verifica se cada elemento do primeiro array está presente no segundo array e retorna um array booleano que contém true para cada elemento presente em ambos os arrays e false para cada elemento presente na primeira matriz, mas não na segunda matriz. Podemos usar este array resultante como o primeiro índice de array para obter os elementos comuns em ambos os arrays.

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)

Resultado:

[3 5 7]

Primeiro criamos os dois arrays com o método np.array(). Em seguida, armazenamos a interseção de ambas as matrizes dentro do array C com C = A[np.in1d(A, B)].

Intersecção NumPy com o método numpy.intersect1d() em Python

Também podemos usar o método numpy.intersect1d() para encontrar a interseção de dois arrays 1D em Python. O método numpy.intersect1d() pega os arrays e retorna a interseção classificada na forma de outro array 1D. Veja o seguinte exemplo de código.

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)

Resultado:

[3 5 7]

Armazenamos a interseção das matrizes A e B dentro do array C com o método numpy.intersect1d() no código acima.

Ambos os métodos funcionam bem, mas o método np.intersect1d() é mais fácil de usar do que o método np.in1d().

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn