遇到一个小小的需求:现在有两个numpy.array
,它俩的长度不一致,但是有公共元素,想实现求它们的公共元素在它们各自中的索引。
基本思想是:先求出两个array的公共元素,再遍历元素,得到其在各自中的索引。
下面是实现代码
def get_uionInd(a,b):
m=list(set(a) & set(b))
alist=a.tolist()
blist=b.tolist()
p=[]
q=[]
for i in m:
p.append(alist.index(i))
q.append(blist.index(i))
return np.array(m),p,q
这个方法有点慢,主要有一个for循环,目前没有更好的解决方案。