当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy mask_indices用法及代码示例


本文简要介绍 python 语言中 numpy.mask_indices 的用法。

用法:

numpy.mask_indices(n, mask_func, k=0)

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

认为mask_func是一个函数,对于大小为 a 的方阵(n, n)带有可能的偏移量参数k, 当被称为mask_func(a, k)返回一个在某些位置有零的新数组(函数如numpy.triu或者numpy.tril正是这样做)。然后此函数返回非零值所在的索引。

参数

n int

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

mask_func 可调用的

其调用签名与以下类似的函数numpy.triu,numpy.tril。那是,mask_func(x, k)返回一个布尔数组,形状如下x.k是函数的可选参数。

k 标量

传递给的可选参数mask_func。函数类似于numpy.triu,numpy.tril采用被解释为偏移量的第二个参数。

返回

indices 数组的元组。

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

注意

例子

这些是允许您访问任何 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])

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.mask_indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。