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

Функция nonzero

Функция nonzero возвращает кортеж массивов, каждый из которых содержит индексы ненулевых элементов по соответствующей оси. Количество массивов в кортеже равно размерности исходного массива. Функция особенно полезна при работе с условиями и масками, позволяя получить индексы элементов, удовлетворяющих заданному критерию.

Синтаксис

np.nonzero(arr)

Пример

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

import numpy as np arr = np.array([0, 2, 0, 5, 0, 7, 0]) res = np.nonzero(arr) print(res)

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

(array([1, 3, 5]),)

Пример

Получим индексы элементов, которые больше трёх, используя функцию nonzero в сочетании с условием:

import numpy as np arr = np.array([1, 5, 2, 8, 3, 9, 0, 4]) res = np.nonzero(arr > 3) print(res)

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

(array([1, 3, 5, 7]),)

Пример

Рассмотрим работу функции с двумерным массивом. В результате получаем два массива индексов: первый содержит индексы строк, второй - индексы столбцов:

import numpy as np arr = np.array([[0, 4, 0], [2, 0, 7], [0, 5, 0]]) res = np.nonzero(arr) print(res)

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

(array([0, 1, 1, 2]), array([1, 0, 2, 1]))

Каждая пара индексов определяет позицию ненулевого элемента: (0, 1), (1, 0), (1, 2), (2, 1).

Пример

Используем результат функции nonzero для извлечения ненулевых элементов из исходного массива:

import numpy as np arr = np.array([0, 2, 0, 5, 0, 7, 0]) indices = np.nonzero(arr) res = arr[indices] print(res)

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

[2 5 7]

Пример

Применим функцию nonzero к булеву массиву. Все элементы, равные True, считаются ненулевыми:

import numpy as np arr = np.array([True, False, True, True, False]) res = np.nonzero(arr) print(res)

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

(array([0, 2, 3]),)

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

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