NumPy 集合操作

集合是唯一数据的集合。也就是说,集合的元素不能重复。

NumPy 集合运算对数组执行数学集合运算,如并集、交集、差集和对称差集。


NumPy 中的并集运算

集合 AB 的并集包含集合 AB 的所有元素。

Set Union in NumPy
NumPy 中的并集

在 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 中的交集运算

集合 AB 的交集包含集合 AB 之间的共同元素。

Set Intersection in NumPy
NumPy 中的交集

我们使用 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 中的差集运算

集合 AB 之间的差集包含集合 A 中不存在于集合 B 中的元素。

Set Difference in NumPy
NumPy 中的差集

我们使用 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 中的对称差集运算

集合 AB 之间的对称差集包含 AB 的所有元素,但不包含共同元素。

Set Symmetric Difference in NumPy
NumPy 中的对称差集

在 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 的唯一元素。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战