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