numpy.tril_indices#

numpy.tril_indices(n, k=0, m=None)[源代码]#

返回一个 (n, m) 数组的下半三角的索引.

参数:
nint

返回的索引将有效的数组的行维度.

kint, 可选

对角偏移(详见 tril).

mint, 可选

在 1.9.0 版本加入.

返回数组将有效的数组的列维度.默认情况下,`m` 取值等于 n.

返回:
inds数组的元组

三角形的索引.返回的元组包含两个数组,每个数组包含沿数组一个维度的索引.

参见

triu_indices

类似的功能,用于上三角形.

mask_indices

接受任意掩码函数的通用函数.

tril, triu

备注

在 1.4.0 版本加入.

示例

>>> import numpy as np

计算两个不同的索引集以访问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]])