Python 从函数中给定条件的2d numpy数组中选择行

Python 从函数中给定条件的2d numpy数组中选择行,python,arrays,numpy,vector,filter,Python,Arrays,Numpy,Vector,Filter,我看到很多使用np.where()的示例,在给出以下内容时效果很好: x = np.array([...]) w = np.where(x > 5) 如果我需要根据一个函数过滤元素,像这样呢 a = [..] b = filter(lambda x: is_true(x), a) 我希望能够在numpy中直接执行此过滤功能,但我似乎无法找到执行此功能的方法。您可以添加一个示例吗?我希望有效地过滤出每个元素,其中为true(element)=False。并且是否为true是否有一些自定义

我看到很多使用
np.where()
的示例,在给出以下内容时效果很好:

x = np.array([...])
w = np.where(x > 5)
如果我需要根据一个函数过滤元素,像这样呢

a = [..]
b = filter(lambda x: is_true(x), a)

我希望能够在numpy中直接执行此过滤功能,但我似乎无法找到执行此功能的方法。

您可以添加一个示例吗?我希望有效地过滤出每个元素,其中为true(element)=False。并且
是否为true
是否有一些自定义函数?正确。我正在实现一个非最大抑制,但是我的用例和我在堆栈溢出上看到的其他用例之间的区别是,我需要重叠在两个边界框之间。换句话说,我在stackoverflow上看到的实现只考虑了一面。我关心的是两个边界框之间的实际交集,而不仅仅是其中一个是否更大,并以超过某个比例吞并另一个边界框。我明白了,所以对于真正的矢量化,即性能,我们需要对func实现本身进行矢量化。你能添加一个示例吗?我想过滤掉每个元素中的_true(要素)==有效地为假。而
是否为真
是否是一些自定义函数?正确。我正在实现一个非最大抑制,但我的用例与我在堆栈溢出上看到的其他用例之间的区别是,我需要重叠在两个边界框之间。换句话说,我在堆栈溢出上看到的实现只考虑了一个方面帐户。我关心的是两个边界框之间的实际交集,而不仅仅是一个是否更大,是否以超过某个比例吞并了另一个。我明白了,所以要实现真正的性能矢量化,我们需要对func实现本身进行矢量化。