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

Метод nonzero

Метод nonzero возвращает кортеж массивов, содержащих индексы всех ненулевых элементов массива. Для одномерного массива возвращается кортеж с одним массивом, для многомерного - кортеж с массивом для каждого измерения. Метод не принимает параметров.

Синтаксис

arr.nonzero()

Пример

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

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

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

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

Индексы нумеруются с нуля, поэтому элементы 5, 3 и 7 находятся на позициях с индексами 1, 3 и 5 соответственно.

Пример

Применим метод nonzero к двумерному массиву:

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

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

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

Первый массив содержит индексы строк, второй - индексы столбцов. Элементы с индексами (0,1), (1,0), (1,2) и (2,1) не равны нулю.

Пример

Используем результат метода для выборки ненулевых элементов из массива:

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

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

[4 8 2]

Пример

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

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

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

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

Получены три массива индексов для каждого из трёх измерений.

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

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