【发布时间】:2018-03-02 10:20:15
【问题描述】:
为了在 numpy 数组中获取与“99”值对应的索引,我们这样做:
mynumpy=([5,6,9,2,99,3,88,4,7))
np.where(my_numpy==99)
如果,我想得到以下值 99,55,6,3,7 对应的索引怎么办?显然,可以通过一个简单的循环来做到这一点,但我正在寻找一个更加矢量化的解决方案。我知道 Numpy 非常强大,所以我认为它可能存在类似的东西。
想要的输出:
searched_values=np.array([99,55,6,3,7])
np.where(searched_values in mynumpy)
[(4),(),(1),(5),(8)]
【问题讨论】:
-
@Kasramvd 重新打开,因为此问题还需要屏蔽
searched_values中不存在的元素。希望看起来公平。 -
是的,Divakar 的解决方案考虑了不存在值的特殊情况
-
可以有多个值吗?
-
一个涉及多个值的类似问题,How to get a list of indexes selected by a specific value efficiently with numpy arrays?。接受的答案使用了默认字典。