给出如下矩阵:
A = np.array([[1,2,3],
[3,4,5],
[4,5,6]])
如何精确定位感兴趣元素的索引。例如,假设我想在2
的第一行中找到np.array
的索引,如下所示:
A[0,:].index(2)
,但显然这不起作用,因为A[0,:]
不是列表。
答案 0 :(得分:3)
您可以将数组与值2
进行比较,然后使用where
。
例如,要在2
的第一行中找到A
的位置:
In [179]: np.where(A[0, :] == 2)[0]
Out[179]: array([1])
In [180]: j = np.where(A[0, :] == 2)[0]
In [181]: A[0, j]
Out[181]: array([2])
where
也适用于高维数组。例如,要在完整数组2
中找到A
:
In [182]: i, j = np.where(A == 2)
In [183]: A[i,j]
Out[183]: array([2])