Jac*_*son 3 python arrays indexing numpy pandas
我一直在尝试在 python 中创建一个函数,该函数返回二维数组中每个重复值的 x,y 坐标。例如,如果我有数组和一个值,
array = [ [1 ,2 ,3]
[2 ,3 ,1]
[3 ,2, 1]]
search = 1
Run Code Online (Sandbox Code Playgroud)
它会输出 (0,0) (1,2) (2,2)
我一直在尝试使用一些函数,例如 np.where 或将其转换为 Pandas 数据框并以这种方式进行搜索,但我不确定最好的方法。当我使用 np.where 时,它返回一个空数组,因为我使用的是长小数。我正在尝试在 200 x 200 的阵列上执行此操作。
我们可以做np.wherePS:a 是你的数组
list(zip(*np.where(a==search)))
[(0, 0), (1, 2), (2, 2)]
Run Code Online (Sandbox Code Playgroud)
正如 hpaulj 提到的
np.argwhere(np.isclose(a,search))
array([[0, 0],
[1, 2],
[2, 2]])
Run Code Online (Sandbox Code Playgroud)