当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy in1d用法及代码示例


本文简要介绍 python 语言中 numpy.in1d 的用法。

用法:

numpy.in1d(ar1, ar2, assume_unique=False, invert=False)

测试一维数组的每个元素是否也存在于第二个数组中。

返回一个长度相同的布尔数组ar1这是 True 其中一个元素ar1ar2否则为 False。

对于新代码,我们建议使用 isin 而不是 in1d

参数

ar1 (M,) 数组

输入数组。

ar2 array_like

用于测试 ar1 的每个值的值。

assume_unique 布尔型,可选

如果为 True,则假定输入数组都是唯一的,这样可以加快计算速度。默认为假。

invert 布尔型,可选

如果为 True,则返回数组中的值被反转(即,False,其中一个元素ar1ar2否则为真)。默认为假。np.in1d(a, b, invert=True)相当于(但比)快np.invert(in1d(a, b)).

返回

in1d (M,) ndarray, 布尔

ar1[in1d] 的值在 ar2 中。

注意

in1d可以被认为是 python 关键字的逐元素函数版本, 对于一维序列。in1d(a, b)大致相当于np.array([item in b for item in a]).但是,如果这个想法失败了ar2是一个集合或类似(非序列)容器:Asar2在这些情况下被转换为数组asarray(ar2)是一个对象数组,而不是包含值的预期数组。

例子

>>> test = np.array([0, 1, 2, 5, 0])
>>> states = [0, 2]
>>> mask = np.in1d(test, states)
>>> mask
array([ True, False,  True, False,  True])
>>> test[mask]
array([0, 2, 0])
>>> mask = np.in1d(test, states, invert=True)
>>> mask
array([False,  True, False,  True, False])
>>> test[mask]
array([1, 5])

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.in1d。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。