numpy.mask_indices #
- 麻木的。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])