Как найти индекс значения в массиве NumPy (с примерами)


Вы можете использовать следующие методы, чтобы найти положение индекса определенных значений в массиве 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.