numpy.triu_indices#
- numpy.triu_indices(n, k=0, m=None)[source]#
返回 (n, m) 数组上三角的索引。
- 参数:
- nint
返回索引有效的数组大小。
- kint, 可选
对角线偏移量(有关详细信息,请参见
triu
)。- mint, 可选
版本 1.9.0 中新增。
返回数组有效的列维度。默认情况下,m 等于 n。
- 返回值:
- inds元组,形状为 (2) 的 ndarray,形状为 (n)
三角形的索引。返回的元组包含两个数组,每个数组都包含数组一个维度上的索引。可用于切片形状为 (n, n) 的 ndarray。
另请参见
tril_indices
类似函数,用于下三角。
mask_indices
接受任意掩码函数的通用函数。
triu
,tril
备注
版本 1.4.0 中新增。
示例
>>> import numpy as np
计算两组不同的索引来访问 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]])