Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

NumPy 集合运算


什么是集合

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

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


在 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() 方法。

示例

查找集合 1 与集合 2 的差集

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() 方法。

示例

查找集合 1 和集合 2 的对称差集

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。



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.