【问题标题】:Find an array in a numpy array?在 numpy 数组中查找数组?
【发布时间】:2014-02-19 03:41:50
【问题描述】:

我有大量 N 维有序对。然后我有一个 N 维的测试数组,我想找到它在大数组中位置的所有索引。一个简单的示例如下所示:

>>> import numpy as np
>>> x = np.array(  ((1,2),(3,4),(5,6)) )
>>> y = np.array( (1,2) )
>>> x == y
array([[ True,  True],
   [False, False],
   [False, False]], dtype=bool)

然而,我想要的是:

array([True,
   False,
   False], dtype=bool)

这可能吗?我想避免遍历整个大型数组并测试所有单个对象以查找索引。大数组中有多个位置出现每个测试数组,我需要所有索引。

我错过了一些简单的东西吗?

【问题讨论】:

    标签: python arrays numpy comparison indices


    【解决方案1】:
    (x == y).all(axis=1)
    

    应该这样做。它测试x == y 每一行中的所有条目是否为真,并返回一维结果数组。大致相当于

    numpy.array([all(vector) for vector in x == y])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-23
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多