栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在另一个数组中查找一个数组的匹配索引

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在另一个数组中查找一个数组的匹配索引

您可以使用

np.in1d
带有
np.nonzero
-

np.nonzero(np.in1d(A,B))[0]

np.searchsorted
如果您关心维护订单,也可以使用-

np.searchsorted(A,B)

对于一般情况,当

A
B
是未排序的数组时,您可以在中引入
sorter
选项
np.searchsorted
,就像这样-

sort_idx = A.argsort()out = sort_idx[np.searchsorted(A,B,sorter = sort_idx)]

broadcasting
为了解决一般情况,我还会添加我最喜欢的内容-

np.nonzero(B[:,None] == A)[1]

样品运行-

In [125]: AOut[125]: array([ 7,  5,  1,  6, 10,  9,  8])In [126]: BOut[126]: array([ 1, 10,  7])In [127]: sort_idx = A.argsort()In [128]: sort_idx[np.searchsorted(A,B,sorter = sort_idx)]Out[128]: array([2, 4, 0])In [129]: np.nonzero(B[:,None] == A)[1]Out[129]: array([2, 4, 0])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660650.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号