numpy.mask_indices¶
-
numpy.
mask_indices
(n, mask_func, k=0)[source]¶ 给定掩蔽函数,返回索引以访问(n,n)数组。
Assume mask_func is a function that, for a square array a of size
(n, n)
with a possible offset argument k, when called asmask_func(a, k)
returns a new array with zeros in certain locations (functions liketriu
ortril
do precisely this). 然后,此函数返回非零值将位于的索引。参数: n:int
返回的索引将有效访问shape(n,n)的数组。
mask_func:callable
k:标量
返回: indices:数组的元组。
与
mask_func(np.ones((n, t> n)), 的位置对应的索引的n k)
为True。也可以看看
笔记
版本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])