numpy.tril_indices #

麻木的。tril_indices ( n , k = 0 , m = None ) [来源] #

返回 (n, m) 数组的下三角形的索引。

参数
整数

返回的索引对其有效的数组的行维度。

k整数,可选

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

m整数,可选

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