集合运算

收藏320

阅读2498

更新时间2025-08-12

什么是集合

数学中的集合是独特元素的集合。

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

在 NumPy 中创建集合

我们可以使用 NumPy 的 unique() 方法来从任何数组中找到唯一的元素。例如,创建一个集合数组,但请记住,集合数组应该只是一维数组。

实例

将以下包含重复元素的数组转换为集合:

import numpy as np

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

x = np.unique(arr)

print(x)

求并集

要找到两个数组的唯一值,请使用 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)

求交集

要仅查找两个数组中都存在的值,请使用 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

求差集

要仅找到第一个集合中不存在于第二个集合中的值,请使用 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

求对称差集

要仅查找两个集合中都不存在的值,请使用 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

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号