本文简要介绍 python 语言中 numpy.ma.nonzero
的用法。
用法:
ma.nonzero(self) = <numpy.ma.core._frommethod object>
返回不为零的未屏蔽元素的索引。
返回一个数组元组,每个维度一个,包含该维度中非零元素的索引。可以通过以下方式获得相应的非零值:
a[a.nonzero()]
要按元素而不是维度对索引进行分组,请改用:
np.transpose(a.nonzero())
结果总是一个二维数组,每个非零元素都有一行。
- None:
- tuple_of_arrays: 元组
非零元素的索引。
参数:
返回:
例子:
>>> import numpy.ma as ma >>> x = ma.array(np.eye(3)) >>> x masked_array( data=[[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]], mask=False, fill_value=1e+20) >>> x.nonzero() (array([0, 1, 2]), array([0, 1, 2]))
被屏蔽的元素被忽略。
>>> x[1, 1] = ma.masked >>> x masked_array( data=[[1.0, 0.0, 0.0], [0.0, --, 0.0], [0.0, 0.0, 1.0]], mask=[[False, False, False], [False, True, False], [False, False, False]], fill_value=1e+20) >>> x.nonzero() (array([0, 2]), array([0, 2]))
索引也可以按元素分组。
>>> np.transpose(x.nonzero()) array([[0, 0], [2, 2]])
常见用途为
nonzero
是找到一个数组的索引,其中条件为True。给定一个数组a, 条件a> 3 是一个布尔数组,由于 False 被解释为 0,所以 ma.nonzero(a > 3) 生成a其中条件为真。>>> a = ma.array([[1,2,3],[4,5,6],[7,8,9]]) >>> a > 3 masked_array( data=[[False, False, False], [ True, True, True], [ True, True, True]], mask=False, fill_value=True) >>> ma.nonzero(a > 3) (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2]))
也可以调用条件数组的
nonzero
方法。>>> (a > 3).nonzero() (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2]))
相关用法
- Python numpy ma.notmasked_contiguous用法及代码示例
- Python numpy ma.notmasked_edges用法及代码示例
- Python numpy ma.indices用法及代码示例
- Python numpy ma.zeros用法及代码示例
- Python numpy ma.diff用法及代码示例
- Python numpy ma.mask_rowcols用法及代码示例
- Python numpy ma.where用法及代码示例
- Python numpy ma.zeros_like用法及代码示例
- Python numpy ma.concatenate用法及代码示例
- Python numpy ma.apply_along_axis用法及代码示例
- Python numpy ma.compress_rowcols用法及代码示例
- Python numpy ma.vstack用法及代码示例
- Python numpy ma.atleast_3d用法及代码示例
- Python numpy ma.count用法及代码示例
- Python numpy ma.fix_invalid用法及代码示例
- Python numpy ma.mean用法及代码示例
- Python numpy ma.argmax用法及代码示例
- Python numpy ma.empty_like用法及代码示例
- Python numpy ma.hstack用法及代码示例
- Python numpy ma.isMA用法及代码示例
- Python numpy ma.argmin用法及代码示例
- Python numpy ma.asarray用法及代码示例
- Python numpy ma.set_fill_value用法及代码示例
- Python numpy ma.is_mask用法及代码示例
- Python numpy ma.is_masked用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.ma.nonzero。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。