Spec-Zone.ru › NumPy 1.14

numpy.mask_indices

numpy.mask_indices(n, mask_func, k=0) [source]

Возвращает индексы для доступа к массивам (n, n), заданным функцией маскирования.

Предположим, что mask_func — это функция, которая для квадратного массива a размера (n, n) с возможным аргументом смещения k, при вызове mask_func(a, k) возвращает новый массив с нулями в определённых позициях (функции, такие как triu или tril, делают именно это). Тогда эта функция возвращает индексы, где будут располагаться ненулевые значения.

Параметры:

n : int

Возвращаемые индексы будут валидны для доступа к массивам формы (n, n).

mask_func : callable

Функция, сигнатура вызова которой похожа на сигнатуру triu, tril. То есть mask_func(x, k) возвращает булевый массив, имеющий форму, похожую на x. k — это необязательный аргумент функции.

k : скаляр

Необязательный аргумент, который передаётся функции mask_func. Функции, такие как triu, tril, принимают второй аргумент, который интерпретируется как смещение.

Возвращает:

indices : кортеж массивов.

Массивы индексов, соответствующие расположению, где mask_func(np.ones((n, n)), k) имеет значение True.

См. также

triu, tril, triu_indices, tril_indices

Примечания

Введено в версии 1.4.0.

Примеры

Вот индексы, которые позволят вам получить доступ к верхней треугольной части любого массива 3x3:

>>> iu = np.mask_indices(3, np.triu)

Например, если a — это массив 3x3:

>>> a = np.arange(9).reshape(3, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> a[iu]
array([0, 1, 2, 4, 5, 8])

Можно также передать смещение функции маскирования. Это даст нам индексы, начинающиеся с первого диагонального правого от основного:

>>> iu1 = np.mask_indices(3, np.triu, 1)

с помощью которых мы теперь извлекаем только три элемента:

>>> a[iu1]
array([1, 2, 5])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.mask_indices.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API