numpy.flatnonzero
numpy.flatnonzero(a)
Функция flatnonzero() возвращает индексы ненулевых элементов в сжатом до одной оси представлении указанного массива.
Данная функция эквивалентна команде a.flat[np.flatnonzero(a)]
или np.nonzero(np.ravel(a))[0]
.
-
- a - массив NumPy или подобный массиву объект.
- Исходный массив.
-
- ndarray - массив NumPy
- массив индексов ненулевых элементов в сжатом до одной оси представлении указанного массива.
Примеры
>>> import numpy as np
>>>
>>> a = np.random.randint(1, 11, size = (2, 6))
>>> a
array([[ 4, 10, 1, 3, 4, 3],
[ 8, 10, 3, 7, 7, 3]])
>>>
>>> a[a < 5] = 0
>>> a
array([[ 0, 10, 0, 0, 0, 0],
[ 8, 10, 0, 7, 7, 0]])
>>>
>>> ind = np.flatnonzero(a)
>>> ind
array([ 1, 6, 7, 9, 10], dtype=int32)
>>>
>>>
>>> a.flat[ind]
array([10, 8, 10, 7, 7])
>>>
>>> np.nonzero(np.ravel(a))[0]
array([ 1, 6, 7, 9, 10], dtype=int32)