numpy.mask_indices #

麻木的。mask_indices ( n , mask_func , k = 0 ) [来源] #

给定掩码函数,返回访问 (n, n) 数组的索引。

假设mask_func是一个函数,对于大小为 a 且可能有偏移参数k的方阵数组,当调用 as 时, 会返回一个在某些位置包含零的新数组(类似或的函数正是这样做的)。然后该函数返回非零值所在的索引。(n, n)mask_func(a, k)triutril

参数
整数

返回的索引对于访问形状为 (n, n) 的数组是有效的。

mask_func可调用

其调用签名类似于triu,的函数tril。也就是说,返回一个布尔数组,形状类似于xk是函数的可选参数。mask_func(x, k)

k标量

传递给mask_func 的可选参数。triu诸如之类的函数tril采用第二个参数,该参数被解释为偏移量。

返回
数组的索引元组。

对应于True位置的n 个索引数组 。mask_func(np.ones((n, n)), k)

也可以看看

triu, tril, triu_indices,tril_indices

笔记

1.4.0 版本中的新增功能。

例子

这些索引允许您访问任何 3x3 数组的上三角部分:

>>> iu = np.mask_indices(3, np.triu)

例如,如果a是 3x3 数组:

>>> a = np.arange(9).reshape(3, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> a[iu]
array([0, 1, 2, 4, 5, 8])

偏移量也可以传递给屏蔽函数。这让我们从主索引的第一个对角线右侧开始索引:

>>> iu1 = np.mask_indices(3, np.triu, 1)

现在我们只提取三个元素:

>>> a[iu1]
array([1, 2, 5])