本文簡要介紹 python 語言中 numpy.ma.MaskedArray.nonzero
的用法。
用法:
ma.MaskedArray.nonzero()
返回不為零的未屏蔽元素的索引。
返回一個數組元組,每個維度一個,包含該維度中非零元素的索引。可以通過以下方式獲得相應的非零值:
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 MaskedArray.nbytes用法及代碼示例
- Python numpy MaskedArray.ndim用法及代碼示例
- Python numpy MaskedArray.var用法及代碼示例
- Python numpy MaskedArray.T用法及代碼示例
- Python numpy MaskedArray.compressed用法及代碼示例
- Python numpy MaskedArray.toflex用法及代碼示例
- Python numpy MaskedArray.copy用法及代碼示例
- Python numpy MaskedArray.ravel用法及代碼示例
- Python numpy MaskedArray.count用法及代碼示例
- Python numpy MaskedArray.get_fill_value用法及代碼示例
- Python numpy MaskedArray.put用法及代碼示例
- Python numpy MaskedArray.ctypes用法及代碼示例
- Python numpy MaskedArray.argmax用法及代碼示例
- Python numpy MaskedArray.ids用法及代碼示例
- Python numpy MaskedArray.argmin用法及代碼示例
- Python numpy MaskedArray.imag用法及代碼示例
- Python numpy MaskedArray.tolist用法及代碼示例
- Python numpy MaskedArray.flatten用法及代碼示例
- Python numpy MaskedArray.item用法及代碼示例
- Python numpy MaskedArray.sort用法及代碼示例
- Python numpy MaskedArray.strides用法及代碼示例
- Python numpy MaskedArray.size用法及代碼示例
- Python numpy MaskedArray.reshape用法及代碼示例
- Python numpy MaskedArray.filled用法及代碼示例
- Python numpy MaskedArray.base用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.ma.MaskedArray.nonzero。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。