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_unique
que, 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_unique
que, 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_unique
que, si se establece en True, puede acelerar el cálculo. Siempre debe establecerse en True cuando se trata de conjuntos.