原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.in1d.html
校对:(虚位以待)
numpy.
in1d
(ar1, ar2, assume_unique=False, invert=False)[source]测试1-D数组的每个元素是否也存在于第二个数组中。
返回与ar1相同的长度为True的布尔数组,其中ar1的元素在ar2中为真,否则为False。
参数: | ar1:(M,)array_like
ar2:array_like
assume_unique:bool,可选
反转:bool,可选
|
---|---|
返回: | in1d:(M,)ndarray,bool
|
也可以看看
numpy.lib.arraysetops
笔记
in1d
可以被视为1-D序列中的中的python关键字的元素级函数版本。in1d(a, b)
is roughly equivalent to np.array([item in b for item in a])
. 但是,如果ar2是一个集合或类似(非序列)容器,则此构思失败:As ar2
被转换为数组,在这些情况下asarray(ar2)
是一个对象数组,而不是包含值的预期数组。
版本1.4.0中的新功能。
例子
>>> test = np.array([0, 1, 2, 5, 0])
>>> states = [0, 2]
>>> mask = np.in1d(test, states)
>>> mask
array([ True, False, True, False, True], dtype=bool)
>>> test[mask]
array([0, 2, 0])
>>> mask = np.in1d(test, states, invert=True)
>>> mask
array([False, True, False, True, False], dtype=bool)
>>> test[mask]
array([1, 5])