gpt4 book ai didi

python - numpy.equal 与嵌套列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:12 24 4
gpt4 key购买 nike

我想在图片中搜索一个矩形。图片来自太平船务。这意味着我将得到一个二维数组,其中每个项目都是一个包含三个颜色条目的列表。

我使用 np.equal 来获取具有搜索颜色的矩形在哪里。这是一个缩小的例子:

>>> l = np.array([[1,1], [2,1], [2,2], [1,0]])
>>> np.equal(l, [2,1]) # where [2,1] is the searched color
array([[False, True],
[ True, True],
[ True, False],
[False, False]], dtype=bool)

但我已经预料到:

array([False, True, False, False], dtype=bool)

array([[False,  False],
[ True, True],
[ False, False],
[False, False]], dtype=bool)

如何使用 numpy 实现嵌套列表比较?

注意:然后我想用 np.wherenp.equal 的结果中提取矩形的索引。

最佳答案

您可以沿第二个轴使用 all 方法:

>>> result = numpy.array([[1, 1], [2, 1], [2, 2], [1, 0]]) == [2, 1]
>>> result.all(axis=1)
array([False, True, False, False], dtype=bool)

并获取索引:

>>> result.all(axis=1).nonzero()
(array([1]),)

我更喜欢 nonzero 而不是 where,因为 wheretwo very different things取决于传递给它的参数数量。当我需要它独特的功能时,我使用 where;当我需要 nonzero 的行为时,我明确地使用 nonzero

关于python - numpy.equal 与嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com