numpy.setdiff1d() 是 NumPy 提供的一个用于 找出一个数组中不在另一个数组中的元素 的函数。它常用于集合差集操作。如比较两个列表,找出不重合的元素,可以用于数据清洗,从原数据中过滤掉某些值,还可以标签处理,排除不需要的类别。本文主要介绍一下NumPy中setdiff1d方法的使用。

numpy.setdiff1d

numpy.setdiff1d(ar1, ar2, assume_unique=False)      [source]

查找两个数组的差值。

返回ar1中不在ar2中的唯一值。

参数 :

ar1 :array_like

输入数组。

ar2 :array_like

输入比较数组。

assume_uniquebool

如果为True,则假定输入数组都是唯一的,

这可以加快计算速度。 默认值为False。

返回值 :

setdiff1d :ndarray

ar1中不在ar2中的值的一维数组。 

当承担前提为false时对结果进行排序,

否则仅在对输入进行排序时才进行排序。

例子

1)基本用法

import numpy as np

a = np.array([1, 2, 3, 4, 5])
b = np.array([3, 4, 6])

result = np.setdiff1d(a, b)
print(result)

2)使用 assume_unique=True 来提升性能

如确定输入数据是唯一的,可以使用 assume_unique=True 来提升性能。

import numpy as np

a = np.array([1, 2, 3])
b = np.array([2])

result = np.setdiff1d(a, b, assume_unique=True)
print(result)  # 输出: [1 3]

推荐文档

相关文档

大家感兴趣的内容

随机列表