我在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)
这可能吗?我想避免遍历整个大型数组并测试所有单个对象以查找索引。大型阵列中有多个位置,每个测试阵列出现,我需要所有索引。
我错过了一些简单的东西吗?
答案 0 :(得分:4)
(x == y).all(axis=1)
应该这样做。它测试x == y
每行中的所有条目是否为真,并返回一维结果数组。它大致相当于
numpy.array([all(vector) for vector in x == y])