Вы можете использовать следующие методы, чтобы найти положение индекса определенных значений в массиве NumPy:
Метод 1: найти все ценные позиции в индексе
np.where (x== value )
Метод 2: найти первую позицию индекса значения
np.where (x== value )[0][0]
Метод 3: найти первую позицию индекса нескольких значений
#define values of interest
vals = np.array([ value1 , value2 , value3 ])
#find index location of first occurrence of each value of interest
sorter = np.argsort (x)
sorter[np.searchsorted (x, vals, sorter=sorter)]
В следующих примерах показано, как использовать каждый метод на практике.
Метод 1: найти все ценные позиции в индексе
В следующем коде показано, как найти каждую позицию индекса, которая равна определенному значению в массиве NumPy:
import numpy as np
#define array of values
x = np.array([4, 7, 7, 7, 8, 8, 8])
#find all index positions where x is equal to 8
np.where (x== 8 )
(array([4, 5, 6]),)
Из вывода мы видим, что позиции индекса 4, 5 и 6 равны значению 8 .
Метод 2: найти первую позицию индекса значения
В следующем коде показано, как найти первую позицию индекса, равную определенному значению в массиве NumPy:
import numpy as np
#define array of values
x = np.array([4, 7, 7, 7, 8, 8, 8])
#find first index position where x is equal to 8
np.where (x== 8 )[0][0]
4
Из вывода мы видим, что значение 8 сначала встречается в позиции индекса 4.
Метод 3: найти первую позицию индекса нескольких значений
В следующем коде показано, как найти первую позицию индекса нескольких значений в массиве NumPy:
import numpy as np
#define array of values
x = np.array([4, 7, 7, 7, 8, 8, 8])
#define values of interest
vals = np.array([4, 7, 8])
#find index location of first occurrence of each value of interest
sorter = np.argsort (x)
sorter[np.searchsorted (x, vals, sorter=sorter)]
array([0, 1, 4])
Из вывода мы видим:
- Значение 4 сначала встречается в индексной позиции 0.
- Значение 7 сначала встречается в индексной позиции 1.
- Значение 8 сначала встречается в индексной позиции 4.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:
Как сопоставить функцию с массивом NumPy
Как преобразовать массив NumPy в список в Python
Как рассчитать величину вектора с помощью NumPy