我在NumPy中有两个数组:
test('objects', () => {
expect(doc2).toEqual(
expect.objectContaining(doc1)
);
});
我需要知道a1中第1列和第2列(在a2中给出)都等于1的行的索引。
在上面的示例中,这只会是索引为3的最后一行。其他列是否等于1都没有关系。
有人可以帮助我做到这一点而无需大量循环吗?
答案 0 :(得分:2)
使用简单索引和np.all
将为您提供所有元素均等于1的行:
np.all(a1[:, a2], axis=1)
这为您提供了符合此条件的行掩码。像这样:
array([False, False, False, True])
然后在@ rahlf23注释之后,您可以使用np.where
查找符合以下条件的索引:
np.where(np.all(a1[:, a2], axis=1))[0]
输出:
array([3])