python union函数_Python NumPy ufunc 集合操作(unique、union1d、intersect1d、setdiff1d、setxor1d)...

本文介绍如何使用NumPy进行集合操作,包括创建集合、求并集、交集、差集及对称差集等,并提供了具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是集合

数学上的集合是唯一元素的集合。

集合用于频繁的交、并、差运算。

2、在NumPy中创建集合

我们可以使用NumPy的unique()方法从任何数组中查找唯一元素。 创建一个set数组,但请记住set数组只能是一维数组。

例如:

将具有重复元素的以下数组转换为集合:import numpy as np

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

x = np.unique(arr)

print(x)

3、求并集(union1d)

要查找两个数组的唯一值,请使用union1d()方法。

例如:

计算以下两个集合数组的并集: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)

4、求交集(intersect1d)

若要仅查找两个数组中都存在的值,请使用intersect1d()方法。

例如:

计算以下两个集合数组的交集: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)

注意:intersect1d()方法采用可选参数assume_unique,如果将其设置为True,则可以加快计算速度。 处理集合时,应始终将其设置为True。

5、求差集(setdiff1d)

只查找第一个集合中没有出现在第二个集合中的值,请使用setdiff1d()方法。

例如:

计算set1与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)

注意:setdiff1d()方法采用可选参数assume_unique,如果将其设置为True,则可以加快计算速度。 处理集合时,应始终将其设置为True。

6、求对称差集(setxor1d)

若要仅查找两个集合中都不存在的值,请使用setxor1d()方法。

例如:

找到set1和set2的对称差: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)

注意:setxor1d()方法采用可选参数assume_unique,如果将其设置为True,则可以加快计算速度。 处理集合时,应始终将其设置为True。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值