Python 检查一个数组中的元素是否存在于另一个数组中?

Python 检查一个数组中的元素是否存在于另一个数组中?,python,arrays,numpy,Python,Arrays,Numpy,我有一个1700万个非唯一项的数组,希望检查它们是否存在于一组唯一项中 Large_array=[1,2, 3, 4,...17000000 ] Dictionary= [1,2,3,4,...15000000] 我尝试了运行中的列表: [I in Dictionary for I in Large_array)] 还有numpy的isin和in1d,但它需要永远 np.isin(Large_array, Dictionary) np.in1d(Large_array, Dictionar

我有一个1700万个非唯一项的数组,希望检查它们是否存在于一组唯一项中

Large_array=[1,2, 3, 4,...17000000 ]
Dictionary= [1,2,3,4,...15000000]
我尝试了运行中的列表:

[I in Dictionary for I in Large_array)]
还有numpy的isin和in1d,但它需要永远

np.isin(Large_array, Dictionary)

np.in1d(Large_array, Dictionary)
我想知道是否有更快的方法来完成同样的事情


我需要的输出是一个与大数组大小相同的数组,当字典中存在大数组[I]时,结果[I]设置为true,我想用一种快速的方法来创建它。

通过pandas merge inner join解决,在大数组中删除唯一项数组中不存在的所有项可以称之为字典

pandas.merge(df1, df2, how='inner', on='key')
但是首先将numpy数组转换为数据帧


我第一次尝试使用的方法需要1300小时,但合并只需要1分钟。

请提供一个代码示例或一个可以复制的示例a=set[1,2,3,4,4,4,5,6,7,8]b=set[1,2,3,4,5,6,7,8]a-b当你说-检查它们是否存在时,你是否检查它们是否存在?此外,这些项是否为整数/正整数/任何其他特定场景?@Divakar我想生成一个真/假值掩码,显示该项是否存在于设置为字典的项数组中。