numpy.triu_indices #
- 麻木的。triu_indices ( n , k = 0 , m = None ) [来源] #
返回 (n, m) 数组的上三角形的索引。
- 参数:
- 整数
返回的索引对其有效的数组的大小。
- k整数,可选
对角线偏移(
triu
详情请参见)。- m整数,可选
1.9.0 版本中的新增功能。
返回的数组对其有效的数组的列维度。默认情况下m等于n。
- 返回:
- inds元组,ndarrays 的 shape(2),shape( n )
三角形的索引。返回的元组包含两个数组,每个数组都有沿数组一维的索引。可用于对形状 ( n , n )的 ndarray 进行切片。
也可以看看
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]])