How to get a list of indexes selected by a specific value efficiently with numpy arrays?

前端 未结 3 1360
庸人自扰
庸人自扰 2021-01-15 12:47

I have a numpy array like this:

import numpy as np
arr = np.array([9, 6, 3, 8, 2, 3, 3, 4, 4, 9, 5, 6, 6, 6, 6, 7, 8, 9])

And I want to get

3条回答
  •  遥遥无期
    2021-01-15 13:30

    Might not be the fastes but a oneliner with numpy would be:

    index_dict = {v: np.flatnonzero(arr == v) for v in np.unique(arr)}
    

提交回复
热议问题