dask.array.triu_indices

dask.array.triu_indices

dask.array.triu_indices(n, k=0, m=None, chunks='auto')[源代码]

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

此文档字符串是从 numpy.triu_indices 复制而来的。

Dask 版本可能存在一些不一致性。

参数
n整数

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

kint, 可选

对角偏移(详见 triu)。

mint, 可选

1.9.0 新版功能.

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

返回
inds : 元组, 形状为(2)的ndarrays, 形状为(n)tuple, shape(2) 的 ndarrays, shape(

三角形的索引。返回的元组包含两个数组,每个数组包含沿着数组一个维度的索引。可以用于切片形状为(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]])