Operaciones de conjuntos numéricos


que es un conjunto

Un conjunto en matemáticas es una colección de elementos únicos.

Los conjuntos se utilizan para operaciones que involucran operaciones frecuentes de intersección, unión y diferencia.


Crear conjuntos en NumPy

Podemos usar el unique()método de NumPy para encontrar elementos únicos de cualquier matriz. Por ejemplo, cree una matriz establecida, pero recuerde que las matrices establecidas solo deben ser matrices 1-D.

Ejemplo

Convierta la siguiente matriz con elementos repetidos en un conjunto:

import numpy as np

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

x = np.unique(arr)

print(x)

encontrar unión

Para encontrar los valores únicos de dos matrices, utilice el union1d()método.

Ejemplo

Encuentre la unión de las siguientes dos matrices de conjuntos:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.union1d(arr1, arr2)

print(newarr)

Encontrar intersección

Para encontrar solo los valores que están presentes en ambas matrices, use el intersect1d()método.

Ejemplo

Encuentre la intersección de las siguientes dos matrices de conjuntos:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.intersect1d(arr1, arr2, assume_unique=True)

print(newarr)

Nota: el intersect1d()método toma un argumento opcional assume_uniqueque, si se establece en True, puede acelerar el cálculo. Siempre debe establecerse en True cuando se trata de conjuntos.


encontrar la diferencia

Para encontrar solo los valores en el primer conjunto que NO están presentes en el conjunto de segundos, use el setdiff1d()método.

Ejemplo

Encuentre la diferencia del set1 del set2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setdiff1d(set1, set2, assume_unique=True)

print(newarr)

Nota: el setdiff1d()método toma un argumento opcional assume_uniqueque, si se establece en True, puede acelerar el cálculo. Siempre debe establecerse en True cuando se trata de conjuntos.


Encontrar diferencia simétrica

Para encontrar solo los valores que NO están presentes en AMBOS conjuntos, use el setxor1d()método.

Ejemplo

Encuentre la diferencia simétrica del conjunto1 y el conjunto2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setxor1d(set1, set2, assume_unique=True)

print(newarr)

Nota: el setxor1d()método toma un argumento opcional assume_uniqueque, si se establece en True, puede acelerar el cálculo. Siempre debe establecerse en True cuando se trata de conjuntos.