Spec-Zone.ru › NumPy 2.0

numpy.tril_indices

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

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

Параметры:
nint

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

kint, необязательно

Смещение диагонали (см. tril для деталей).

mint, необязательно

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

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

Возвращает:
indsкортеж массивов

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

См. также

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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.tril_indices.html

Spec-Zone.ru

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