假设我有一个包含要查找的元素的向量:
a = np.array([1, 5, 9, 7])
Run Code Online (Sandbox Code Playgroud)
现在我有一个矩阵,应该在其中搜索这些元素:
M = np.array([
[0, 1, 9],
[5, 3, 8],
[3, 9, 0],
[0, 1, 7]
])
Run Code Online (Sandbox Code Playgroud)
现在,我想获得在该行的列索引阵列中告诉Ĵ的M元素Ĵ的a发生。
结果将是:
[1, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
Numpy 提供这样的功能吗?
(感谢列表推导式的答案,但这不是性能方面的选择。我也很抱歉在最后一个问题中提到了 Numpy。)
请注意以下结果:
M == a[:, None]
>>> array([[False, True, False],
[ True, False, False],
[False, True, False],
[False, False, True]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式检索索引:
yind, xind = numpy.where(M == a[:, None])
>>> (array([0, 1, 2, 3], dtype=int64), array([1, 0, 1, 2], dtype=int64))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2676 次 |
| 最近记录: |