不同长度的numpy数组的元素比较

pui*_*ais 1 python comparison numpy elementwise-operations

这似乎是一件简单的事情,但我无法弄清楚......

first = np.array([0,1,2,0,4,2])
second = np.array([1,2])
Run Code Online (Sandbox Code Playgroud)

我想做逐元素比较,以便答案是

array([False, True, True, False, False, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

基本上,我想可以说True每个中的元素first,这也是中second。所以如果first有 100 个元素,那么输出也应该有 100 个元素。但我无法弄清楚如何。我试过使用np.equal, np.anyfirst==np.any(second)但无济于事。当然,我可以写一个循环来做到这一点,但我知道必须有一种方法来完成这个相对简单的任务!

Pau*_*zer 5

你要的是什么np.isin

>>> import numpy as np
>>> first = np.array([0,1,2,0,4,2])
>>> second = np.array([1,2])
>>> np.isin(first, second)
array([False,  True,  True, False, False,  True])
Run Code Online (Sandbox Code Playgroud)