NumPy参考 >例行程序 >Indexing routines > numpy.mask_indices
numpy.
mask_indices
(n,mask_func,k = 0 )[源代码] ¶给定屏蔽函数,将索引返回到访问(n,n)数组。
假设mask_func是一个函数,对于大小
为a且具有可能偏移参数k的方阵,当调用as时,它会
返回一个在某些位置为零的新数组(函数类似于或精确地执行此操作)。然后,此函数返回将在其中定位非零值的索引。(n, n)
mask_func(a, k)
triu
tril
对应于位置为True 的索引的n个数组
。mask_func(np.ones((n, n)), k)
也可以看看
笔记
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])