numpy.mask_indices#
- numpy.mask_indices(n, mask_func, k=0)[源代码]#
返回索引以访问 (n, n) 数组,给定一个屏蔽函数.
假设 mask_func 是一个函数,对于大小为
(n, n)的方阵 a,带有一个可能的 offset 参数 k ,当调用为mask_func(a, k)时,返回一个新数组,该数组在某些位置具有零(函数如triu或tril正是这样做的).然后,此函数返回非零值将位于的位置的索引.- 参数:
- 返回:
- indices数组元组.
与
mask_func(np.ones((n, n)), k)为 True 的位置相对应的 n 个索引数组.
参见
triu,tril,triu_indices,tril_indices
示例
>>> import numpy as np
这些索引允许您访问任何 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])