我正在使用一个2D NumPy数组。我想要从我的2D数组中满足布尔条件的位置得到(列,行)索引或(x,y)坐标,如果您更喜欢这样的思考方式。
我能通过一个简单的例子来解释我所要做的事情:
>>> a = np.arange(9).reshape(3, 3)
>>> b = a > 4
>>> b
>>> array([[False, False, False],
[False, False, True],
[ True, True, True]], dtype=bool)
此时我已有一个布尔数组,指示“a > 4”的位置。
我的目标是在布尔数组中获取值为 True
的索引。例如,索引(1, 2)
,(2, 0)
,(2, 1)
和(2, 2)
都具有True值。
我的最终目标是得到一个索引列表:
>>> indexes = [(1, 2), (2, 0), (2, 1), (2, 2)]
再次强调,上面的代码只是一个微不足道的示例,但我尝试要做的应用可能具有任意索引,其中 a > 4
而不是基于 arange
和 reshape
。