numpy.triu_indices

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

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

参数
n利息

返回的索引将对其有效的数组的大小。

k可选的

对角线偏移(参见 triu 详情请参阅。

m可选的

1.9.0 新版功能.

返回的数组将对其有效的数组的列维度。默认情况下 m 等于 n .

返回
inds :元组,ndarrays的形状(2),形状 (n元组,n数组的形状(2),形状(

三角形的索引。返回的元组包含两个数组,每个数组的索引沿着数组的一维。可用于切割一个多排形状 (nn

参见

tril_indices

类似的函数,用于下三角形。

mask_indices

接受任意屏蔽函数的通用函数。

triu, tril

笔记

1.4.0 新版功能.

实例

计算两组不同的索引以访问4x4数组,一组用于从主对角线开始的上三角形部分,另一组用于从右更远的两个对角线开始:

>>> iu1 = np.triu_indices(4)
>>> iu2 = np.triu_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[iu1]
array([ 0,  1,  2, ..., 10, 11, 15])

对于赋值:

>>> a[iu1] = -1
>>> a
array([[-1, -1, -1, -1],
       [ 4, -1, -1, -1],
       [ 8,  9, -1, -1],
       [12, 13, 14, -1]])

这些仅覆盖整个阵列的一小部分(主阵列右侧的两条对角线):

>>> a[iu2] = -10
>>> a
array([[ -1,  -1, -10, -10],
       [  4,  -1,  -1, -10],
       [  8,   9,  -1,  -1],
       [ 12,  13,  14,  -1]])