在numpy数组中查找数组?

2024-04-28 09:50:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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)

这可能吗?我希望避免在整个大数组上循环,并测试所有单个对象以找到索引。在大数组中有多个位置,每个测试数组都出现在其中,我需要所有索引。你知道吗

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


Tags: 对象importnumpyfalsetrueasnp数组
1条回答
网友
1楼 · 发布于 2024-04-28 09:50:01
(x == y).all(axis=1)

应该可以了。它测试x == y的每一行中的所有条目是否为真,并返回一个1D结果数组。大致相当于

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

相关问题 更多 >