numpy.setdiff1d
numpy.setdiff1d(ar1, ar2, assume_unique=False) [source]
查找两个数组的差值。
返回ar1中不在ar2中的唯一值。
参数 : | ar1 :array_like 输入数组。 ar2 :array_like 输入比较数组。 assume_unique : 如果为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]