РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
71 of 541 menu

Функция flatnonzero

Функция flatnonzero возвращает индексы ненулевых элементов в сглаженном виде массива. Первым параметром функция принимает массив (array). Возвращает одномерный массив индексов, где элементы исходного массива не равны нулю. По сути, это эквивалент np.nonzero(arr.ravel())[0], но выполняется быстрее.

Синтаксис

np.flatnonzero(arr)

Пример

Найдем индексы ненулевых элементов в одномерном массиве:

import numpy as np arr = np.array([0, 5, 0, 3, 0, 8]) res = np.flatnonzero(arr) print(res)

Результат выполнения кода:

[1 3 5]

Пример

Найдем индексы элементов, удовлетворяющих условию, в двумерном массиве:

import numpy as np arr = np.array([[0, 2, 0], [4, 0, 6]]) res = np.flatnonzero(arr > 3) print(res)

Результат выполнения кода:

[3 5]

Пример

Используем flatnonzero для извлечения элементов по условию:

import numpy as np arr = np.array([[1, 0, 3], [0, 5, 0], [7, 0, 9]]) idx = np.flatnonzero(arr > 4) res = arr.ravel()[idx] print(res)

Результат выполнения кода:

[5 7 9]

Пример

Сравнение flatnonzero с nonzero для многомерных массивов:

import numpy as np arr = np.array([[0, 2, 0], [4, 0, 6]]) flat = np.flatnonzero(arr) nonzero = np.nonzero(arr) print("flatnonzero:", flat) print("nonzero:", nonzero)

Результат выполнения кода:

flatnonzero: [1 3 4] nonzero: (array([0, 1, 1]), array([1, 0, 2]))

Смотрите также

  • функцию nonzero,
    которая возвращает индексы ненулевых элементов в виде кортежа массивов
  • функцию argwhere,
    которая возвращает индексы ненулевых элементов в виде двумерного массива
  • функцию where,
    которая возвращает индексы элементов, удовлетворяющих условию
  • функцию compress,
    которая выбирает элементы по булевой маске
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить