上一主题

numpy.in1d

下一主题

numpy.setdiff1d

numpy.intersect1d

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

找到两个数组。

返回在输入数组中的已排序,唯一的值。

参数:

ar1,ar2:array_like

输入数组。

assume_unique:bool

如果为真,则输入数组都被假定为唯一的,这可以加速计算。默认值为False。

返回:

intersect1d:ndarray

排序1D数组的公共和唯一元素。

也可以看看

numpy.lib.arraysetops
具有用于对数组执行设置操作的多个其他功能的模块。

例子

>>> np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1])
array([1, 3])

要交叉两个以上的数组,请使用functools.reduce:

>>> from functools import reduce
>>> reduce(np.intersect1d, ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2]))
array([3])