NumPy 1.14 - numpy.nonzero()

numpy.nonzero




numpy

numpy.nonzero

numpy.nonzero(a) [source]

उन तत्वों के सूचकांकों को लौटाएं जो गैर-शून्य हैं।

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

a[nonzero(a)]

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

transpose(nonzero(a))

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

पैरामीटर:

a : array_like

इनपुट सरणी

यह दिखाता है:

tuple_of_arrays : tuple

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

यह भी देखें

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

उदाहरण

>>> x = np.array([[1,0,0], [0,2,0], [1,1,0]])
>>> x
array([[1, 0, 0],
       [0, 2, 0],
       [1, 1, 0]])
>>> np.nonzero(x)
(array([0, 1, 2, 2]), array([0, 1, 0, 1]))
>>> x[np.nonzero(x)]
array([1, 2, 1, 1])
>>> np.transpose(np.nonzero(x))
array([[0, 0],
       [1, 1],
       [2, 0],
       [2, 1])

nonzero लिए एक सामान्य उपयोग एक सरणी के सूचकांकों को खोजने के लिए है, जहां एक शर्त सच है। एक सरणी a को देखते हुए, स्थिति a > 3 एक बूलियन सरणी है और चूंकि झूठी 0 के रूप में व्याख्या की गई है, np.nonzero (a> 3) से संकेत मिलता है कि जहां स्थिति सही है।

>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> a > 3
array([[False, False, False],
       [ True,  True,  True],
       [ True,  True,  True]])
>>> np.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]))