NumPy 1.14 - numpy.ma.nonzero()

numpy.ma.nonzero




numpy

numpy.ma.nonzero

numpy.ma.nonzero(self) = <numpy.ma.core._frommethod object>

बिना बताए तत्वों के सूचकांकों को वापस करें जो शून्य नहीं हैं।

उस आयाम में गैर-शून्य तत्वों के सूचकांकों वाले प्रत्येक आयाम के लिए सरणियों का एक टपल लौटाता है। इसी गैर-शून्य मान के साथ प्राप्त किया जा सकता है:

a[a.nonzero()]

आयाम के बजाय तत्व द्वारा सूचकांकों को समूहित करने के लिए, इसके बजाय उपयोग करें:

np.transpose(a.nonzero())

इसका परिणाम हमेशा 2d सरणी होता है, जिसमें प्रत्येक गैर-शून्य तत्व के लिए एक पंक्ति होती है।

पैरामीटर:

कोई नहीं

यह दिखाता है:

tuple_of_arrays : tuple

तत्वों के संकेत जो शून्य नहीं हैं।

यह भी देखें

numpy.nonzero
समारोह ndarrays पर काम कर रहे।
flatnonzero
इनपुट सरणी के चपटा संस्करण में गैर-शून्य होने वाले रिटर्न लौटाएं।
ndarray.nonzero
समतुल्य ndarray विधि।
count_nonzero
इनपुट सरणी में गैर-शून्य तत्वों की संख्या गिना जाता है।

उदाहरण

>>> 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 लिए एक सामान्य उपयोग एक सरणी के सूचकांकों को खोजने के लिए है, जहां एक शर्त सच है। एक सरणी a को देखते हुए, स्थिति a > 3 एक बूलियन सरणी है और चूंकि झूठी 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=999999)
>>> 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]))