numpy.tril_indices_from#

numpy.tril_indices_from(arr, k=0)[source]#

返回 arr 下三角的索引。

详情请参见 tril_indices

参数:
arrarray_like

这些索引对于维度与 arr 相同的方阵有效。

kint, 可选

对角线偏移量(详情请参见 tril)。

示例

>>> import numpy as np

创建一个 4x4 数组

>>> 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]])

传递数组以获取下三角元素的索引。

>>> trili = np.tril_indices_from(a)
>>> trili
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]), array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3]))
>>> a[trili]
array([ 0,  4,  5,  8,  9, 10, 12, 13, 14, 15])

这是 tril_indices() 的语法糖。

>>> np.tril_indices(a.shape[0])
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]), array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3]))

使用 k 参数返回下三角数组直到第 k 个对角线的索引。

>>> trili1 = np.tril_indices_from(a, k=1)
>>> a[trili1]
array([ 0,  1,  4,  5,  6,  8,  9, 10, 11, 12, 13, 14, 15])