numpy.triu_indices¶
-
numpy.
triu_indices
(n, k=0, m=None)[source]¶ 返回(n,m)数组的上三角形的索引。
参数: n:int
返回的索引将有效的数组的大小。
k:int,可选
对角线偏移(详见
triu
)。m:int,可选
版本1.9.0中的新功能。
返回的数组将有效的数组的列维度。默认情况下,m等于n。
返回: inds:元组,形状(2)的数组,形状(n)
三角形的索引。返回的元组包含两个数组,每个数组的索引沿着数组的一个维度。可用于切割形状的阵列(n,n)。
笔记
版本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, 3, 5, 6, 7, 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]])