Функция argwhere
Функция argwhere возвращает индексы всех
элементов массива, которые не равны нулю.
Первым параметром функция принимает исходный массив.
Результат возвращается в виде массива, где каждая
строка содержит индекс одного ненулевого элемента.
Функция полезна для поиска позиций элементов,
удовлетворяющих определенному условию.
Синтаксис
np.argwhere(a)
Пример
Найдем индексы ненулевых элементов в одномерном массиве:
import numpy as np
arr = np.array([0, 5, 0, 3, 0, 8])
res = np.argwhere(arr)
print(res)
Результат выполнения кода:
[[1]
[3]
[5]]
Пример
Найдем индексы элементов, удовлетворяющих условию:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.argwhere(arr > 3)
print(res)
Результат выполнения кода:
[[3]
[4]]
Пример
Найдем индексы ненулевых элементов в двумерном массиве:
import numpy as np
arr = np.array([[0, 1, 0],
[2, 0, 3],
[0, 4, 0]])
res = np.argwhere(arr)
print(res)
Результат выполнения кода:
[[0 1]
[1 0]
[1 2]
[2 1]]
Пример
Используем argwhere для нахождения индексов четных чисел:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
res = np.argwhere(arr % 2 == 0)
print(res)
Результат выполнения кода:
[[1]
[3]
[5]
[7]]
Пример
Используем результаты argwhere для выборки элементов:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
indices = np.argwhere(arr > 25)
res = arr[indices]
print(res)
Результат выполнения кода:
[[30]
[40]
[50]]
Смотрите также
-
функцию
nonzero,
которая возвращает индексы ненулевых элементов -
функцию
where,
которая возвращает индексы элементов, удовлетворяющих условию -
функцию
flatnonzero,
которая возвращает индексы в плоском представлении -
функцию
compress,
которая выбирает элементы по условию