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

法哈瓦

我有两个numpy数组A和B。A包含唯一值,而B是A的子数组。现在,我正在寻找一种方法来获取A中B的值的索引。

例如:

A = np.array([1,2,3,4,5,6,7,8,9,10])
B = np.array([1,7,10])
# I need a function fun() that:
fun(A,B)
>> 0,6,9
迪卡卡

您可以使用np.in1d带有np.nonzero-

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

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

np.searchsorted(A,B)

对于一般情况,当AB是未排序的数组时,您可以在中引入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]: A
Out[125]: array([ 7,  5,  1,  6, 10,  9,  8])

In [126]: B
Out[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])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个数组获取匹配索引

来自分类Dev

查找索引与另一个数组值匹配的数组值

来自分类Dev

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

来自分类Dev

查找数组中而不是另一个数组中最小元素的索引(Matlab)

来自分类Dev

查找数组中的数据,如果它与另一个数组匹配,则删除

来自分类Dev

将一个数组与另一个数组进行比较,然后返回匹配结果的索引

来自分类Dev

另一个数组中的numpy查找元素索引

来自分类Dev

使用NumPy索引一个数组与另一个数组

来自分类Dev

获取索引数组,在另一个数组中找到匹配的索引并替换值

来自分类Dev

将一个数组的顺序与另一个数组匹配

来自分类Dev

根据Python中另一个数组中的索引创建一个数组

来自分类Dev

从一个数组中查找另一个数组中的元素并求和

来自分类Dev

如何通过Java中的条件将一个数组的索引插入另一个数组

来自分类Dev

用另一个数组的相同索引的值替换一个数组中的值?

来自分类Dev

在一个数组中查找数据以构建另一个数组

来自分类Dev

如何在Ruby中查找一个数组是否是另一个数组的子集?

来自分类Dev

Python:在另一个数组(包括重复数组)中查找数组所有元素的索引

来自分类Dev

Google表格公式根据另一个数组中的匹配项查询一个数组

来自分类Dev

使用一个数组中的值作为键从另一个数组中查找匹配项

来自分类Dev

比较数组中的多个索引与另一个数组中的多个索引

来自分类Dev

从另一个数组中删除一个数组的内容

来自分类Dev

从PHP中的另一个数组中提取一个数组

来自分类Dev

如何从php中的另一个数组排序一个数组?

来自分类Dev

修改另一个数组中的一个数组

来自分类Dev

从另一个数组中删除一个数组的内容

来自分类Dev

通过另一个数组中的值过滤一个数组?

来自分类Dev

根据另一个数组中的条目拆分一个数组

来自分类Dev

修改另一个数组中的一个数组

来自分类Dev

根据另一个数组中的数据过滤一个数组

Related 相关文章

  1. 1

    从另一个数组获取匹配索引

  2. 2

    查找索引与另一个数组值匹配的数组值

  3. 3

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

  4. 4

    查找数组中而不是另一个数组中最小元素的索引(Matlab)

  5. 5

    查找数组中的数据,如果它与另一个数组匹配,则删除

  6. 6

    将一个数组与另一个数组进行比较,然后返回匹配结果的索引

  7. 7

    另一个数组中的numpy查找元素索引

  8. 8

    使用NumPy索引一个数组与另一个数组

  9. 9

    获取索引数组,在另一个数组中找到匹配的索引并替换值

  10. 10

    将一个数组的顺序与另一个数组匹配

  11. 11

    根据Python中另一个数组中的索引创建一个数组

  12. 12

    从一个数组中查找另一个数组中的元素并求和

  13. 13

    如何通过Java中的条件将一个数组的索引插入另一个数组

  14. 14

    用另一个数组的相同索引的值替换一个数组中的值?

  15. 15

    在一个数组中查找数据以构建另一个数组

  16. 16

    如何在Ruby中查找一个数组是否是另一个数组的子集?

  17. 17

    Python:在另一个数组(包括重复数组)中查找数组所有元素的索引

  18. 18

    Google表格公式根据另一个数组中的匹配项查询一个数组

  19. 19

    使用一个数组中的值作为键从另一个数组中查找匹配项

  20. 20

    比较数组中的多个索引与另一个数组中的多个索引

  21. 21

    从另一个数组中删除一个数组的内容

  22. 22

    从PHP中的另一个数组中提取一个数组

  23. 23

    如何从php中的另一个数组排序一个数组?

  24. 24

    修改另一个数组中的一个数组

  25. 25

    从另一个数组中删除一个数组的内容

  26. 26

    通过另一个数组中的值过滤一个数组?

  27. 27

    根据另一个数组中的条目拆分一个数组

  28. 28

    修改另一个数组中的一个数组

  29. 29

    根据另一个数组中的数据过滤一个数组

热门标签

归档