Spec-Zone.ru › NumPy 1.20

numpy.tril_indices

numpy.tril_indices(n, k=0, m=None) [source]

Возвращает индексы для нижней треугольной части массива (n, m).

Параметры
nint

Размер строки массивов, для которых возвращённые индексы будут валидны.

kint, optional

Смещение диагонали (подробнее см. tril).

mint, optional

Добавлена в версии 1.9.0.

Размер столбца массивов, для которых возвращённые массивы будут валидны. По умолчанию m принимается равным n.

Возвращает
indstuple of arrays

Индексы для треугольника. Возвращаемая кортеж содержит два массива, каждый из которых содержит индексы по одному измерению массива.

См. также

triu_indices

аналогичная функция для верхнего треугольника.

mask_indices

обобщённая функция, принимающая произвольную функцию маски.

tril, triu

Примечания

Добавлена в версии 1.4.0.

Примеры

Вычислить два разных набора индексов для доступа к массивам 4x4, один для нижней треугольной части, начиная с главной диагонали, а другой - начиная с двух диагоналей правее:

>>> il1 = np.tril_indices(4)
>>> il2 = np.tril_indices(4, 2)

Вот как они могут быть использованы с образцовым массивом:

>>> a = np.arange(16).reshape(4, 4)
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

Оба для индексирования:

>>> a[il1]
array([ 0,  4,  5, ..., 13, 14, 15])

И для присваивания значений:

>>> a[il1] = -1
>>> a
array([[-1,  1,  2,  3],
       [-1, -1,  6,  7],
       [-1, -1, -1, 11],
       [-1, -1, -1, -1]])

Эти индексы покрывают почти весь массив (две диагонали справа от главной):

>>> a[il2] = -10
>>> a
array([[-10, -10, -10,   3],
       [-10, -10, -10, -10],
       [-10, -10, -10, -10],
       [-10, -10, -10, -10]])

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.tril_indices.html

Spec-Zone.ru

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