遇到一个小小的需求:现在有两个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循环,目前没有更好的解决方案。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐