集合是唯一数据的集合。也就是说,集合的元素不能重复。
NumPy 集合运算对数组执行数学集合运算,如并集、交集、差集和对称差集。
NumPy 中的并集运算
集合 A 和 B 的并集包含集合 A 和 B 的所有元素。

在 NumPy 中,我们使用 np.union1d()
函数在数组中执行集合并集运算。例如:
import numpy as np
A = np.array([1, 3, 5])
B = np.array([0, 2, 3])
# union of two arrays
result = np.union1d(A, B)
print(result)
# Output: [0 1 2 3 5]
在此示例中,我们使用 np.union1d(A, B)
函数计算两个数组 A 和 B 的并集。
这里,该函数返回两个数组中的唯一元素。
注意:np.union1d(A,B)
等同于 A ⋃ B
集合运算。
NumPy 中的交集运算
集合 A 和 B 的交集包含集合 A 和 B 之间的共同元素。

我们使用 np.intersect1d()
函数在数组中执行集合交集运算。例如:
import numpy as np
A = np.array([1, 3, 5])
B = np.array([0, 2, 3])
# intersection of two arrays
result = np.intersect1d(A, B)
print(result)
# Output: [3]
注意:np.intersect1d(A,B)
等同于 A ⋂ B
集合运算。
NumPy 中的差集运算
集合 A 和 B 之间的差集包含集合 A 中不存在于集合 B 中的元素。

我们使用 np.setdiff1d()
函数执行两个数组之间的差集运算。例如:
import numpy as np
A = np.array([1, 3, 5])
B = np.array([0, 2, 3])
# difference of two arrays
result = np.setdiff1d(A, B)
print(result)
# Output: [1 5]
注意:np.setdiff1d(A,B)
等同于 A - B
集合运算。
NumPy 中的对称差集运算
集合 A 和 B 之间的对称差集包含 A 和 B 的所有元素,但不包含共同元素。

在 NumPy 中,我们使用 np.setxor1d()
函数执行两个数组之间的对称差集运算。例如:
import numpy as np
A = np.array([1, 3, 5])
B = np.array([0, 2, 3])
# symmetric difference of two arrays
result = np.setxor1d(A, B)
print(result)
# Output: [0 1 2 5]
NumPy 数组中的唯一值
要从 NumPy 数组中选择唯一元素,我们使用 np.unique()
函数。它返回数组的排序唯一元素。它还可以用于从数组创建集合。
让我们看一个例子。
import numpy as np
array1 = np.array([1,1, 2, 2, 4, 7, 7, 3, 5, 2, 5])
# unique values from array1
result = np.unique(array1)
print(result)
# Output: [1 2 3 4 5 7]
这里,结果数组 [1 2 3 4 5 7]
仅包含原始数组 array1 的唯一元素。