2014-01-28 64 views
2

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

>>> 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) 

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

我是否缺少一些简单的东西?

回答

4
(x == y).all(axis=1) 

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

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