【问题标题】:List all x,y of coordinates having specific value in 2D array numpy列出二维数组numpy中具有特定值的所有坐标x,y
【发布时间】:2025-12-04 00:20:04
【问题描述】:

我想找到一个比循环&if 更“numpy”的解决方案,用于列出所有坐标 (x,y) 的值等于二维数组 python 中给定 m 的值。

例如:这是一个 4x4 矩阵

0 1 1 0
0 2 2 0
0 2 1 0
0 0 0 0

如果是m = 2,我想要[(1,1), (1,2), (2,1)] 的列表,因为这些单元格 = 2。我想要的是它们的坐标。

如果 m = 1[(0,1), (0,2), (2,2)] 由于单元格 = 1。

我不想要循环和 if 的解决方案并将 i,j 放入列表中。这有点慢,任何使用 numpy 更快的解决方案? 谢谢

有人建议我看看这个numpy get index where value is true,但我试过了,但它不正确。

详细一点:

np.where(np.any(e==1, axis=0) 在情况下给出:[1,2] 是的!同意

np.where(np.any(e==1, axis=1) 给出:[0,2] 是的!还可以但是 这不会导致:[(0,1), (0,2), (2,2)] 因为行或列信息不够,

所以请不要小看这个问题,一次又一次地删除我的问题。我已经厌倦了

【问题讨论】:

标签: python arrays numpy


【解决方案1】:

丢失np.any 部分。像这样:

np.array(np.where(e==1)).T

外部的np.array 和转置的.T 只是为了方便您阅读索引。

【讨论】:

  • np.argwhere 使用 np.transpose(np.nonzero(cond)) 来返回这个。
最近更新 更多