对于大数组(n>1e8),有没有比np.isin检查是否有相同元素更快的方法?
我尝试过几种方法,例如 pandas isin, cython 但所有这些都比np.isin
示例:(测试一维数组的每个元素是否也存在于第二个数组中)
num = int(1e8)
a = np.random.rand(int(num))
b = np.random.rand(int(num))
ref=time.time()
ainb = np.isin(a,b)
print(a[ainb])
print(time.time()-ref,'sec')
Run Code Online (Sandbox Code Playgroud)
>>> [0.23591019 0.46102523]
>>> 65.45570135116577 sec
Run Code Online (Sandbox Code Playgroud)