gpt4 book ai didi

python - 将掩码( bool )数组转换为 x、y 坐标列表

转载 作者:太空狗 更新时间:2023-10-29 22:25:37 28 4
gpt4 key购买 nike

我有一个“掩码”( bool 值)二维数组,我想将其转换为坐标列表。正确的 numpythonic 方法是什么?

输入应该是这样的:

[[False,False,True],
[False,True,False]]

给定上述输入,输出应该是:

[(0,2),(1,1)]

最佳答案

使用

  • np.where : 如果你想稍后用它索引另一个数组,可以使用它。但结果与您指定的不完全相同。
  • np.argwhere : 如果你想要你指定的结果。但是这个结果不能用于索引另一个数组。

一些示例代码:

import numpy as np
a = np.array([[False,False,True],
[False,True,False]])
np.argwhere(a) # equivalent to checking a == True
#array([[0, 2],
# [1, 1]], dtype=int64)
np.where(a) # equivalent to checking a == True
#(array([0, 1], dtype=int64), array([2, 1], dtype=int64))

如果您想将结果转换为列表,可以使用 ndarray.tolist() 方法。所以你可以调用np.argwhere(a).tolist()

关于python - 将掩码( bool )数组转换为 x、y 坐标列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35340223/

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