gpt4 book ai didi

python - Numpy:在每行上查找元素的列索引

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:08 24 4
gpt4 key购买 nike

假设我有一个包含要查找元素的向量:

a = np.array([1, 5, 9, 7])

现在我有一个矩阵,应该在其中搜索这些元素:

M = np.array([
[0, 1, 9],
[5, 3, 8],
[3, 9, 0],
[0, 1, 7]
])

现在我想得到一个索引数组,告诉 M 的第 j 行的哪一列 的元素 j a 发生。

结果是:

[1, 0, 1, 2]

Numpy有提供这样的功能吗?

(感谢列表推导式的回答,但这不是性能方面的选择。我也很抱歉在最后一个问题中提到 Numpy。)

最佳答案

注意结果:

M == a[:, None]
>>> array([[False, True, False],
[ True, False, False],
[False, True, False],
[False, False, True]], dtype=bool)

可以通过以下方式检索索引:

yind, xind = numpy.where(M == a[:, None])
>>> (array([0, 1, 2, 3], dtype=int64), array([1, 0, 1, 2], dtype=int64))

关于python - Numpy:在每行上查找元素的列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41145667/

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