Numpy: ऐसे सूचकांक कैसे प्राप्त करें जिनका मूल्य सत्य है
आप उन सूचकांकों को प्राप्त करने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं जिनके लिए NumPy में कोई शर्त सत्य है:
विधि 1: ऐसे सूचकांक प्राप्त करें जहां NumPy सरणी में स्थिति सत्य है
#get indices of values greater than 10
n.p. asarray (my_array> 10 ). nonzero ()
विधि 2: NumPy मैट्रिक्स में उन सूचकांकों को प्राप्त करें जहां स्थिति सत्य है
#get indices of values greater than 10
n.p. transpose ((my_matrix>10) .nonzero ())
विधि 3: सूचकांक प्राप्त करें जहां NumPy मैट्रिक्स की किसी भी पंक्ति में स्थिति सत्य है
#get indices of rows where any value is greater than 10 n.p. asarray ( np.any (my_matrix> 10 ,axis= 1 )). nonzero ()
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।
उदाहरण 1: ऐसे सूचकांक प्राप्त करें जहां NumPy सरणी में स्थिति सत्य है
निम्नलिखित कोड दिखाता है कि NumPy सरणी के सभी सूचकांक कैसे प्राप्त करें जिनका मान 10 से अधिक है:
import numpy as np
#create NumPy array
my_array = np. array ([2, 2, 4, 5, 7, 9, 11, 12, 3, 19])
#get index of values greater than 10
n.p. asarray (my_array> 10 ). nonzero ()
(array([6, 7, 9], dtype=int32),)
परिणाम से, हम देख सकते हैं कि मूल NumPy सरणी के सूचकांक स्थिति 6 , 7 और 9 पर मान 10 से अधिक हैं।
उदाहरण 2: ऐसे सूचकांक प्राप्त करें जहां NumPy मैट्रिक्स में स्थिति सत्य है
निम्नलिखित कोड दिखाता है कि NumPy मैट्रिक्स के सभी सूचकांक कैसे प्राप्त करें जिनका मान 10 से अधिक है:
import numpy as np
#create NumPy matrix
my_matrix = np. array ([[2, 5, 9, 12],
[6, 7, 8, 8],
[2, 5, 7, 8],
[4, 1, 15, 11]])
#get index of values greater than 10
n.p. transpose ((my_matrix> 10 ) .nonzero ())
array([[0, 3],
[3, 2],
[3, 3]], dtype=int32)
परिणाम से, हम देख सकते हैं कि मैट्रिक्स की निम्नलिखित सूचकांक स्थितियों में मान 10 से अधिक हैं:
- [0,3]
- [3,2]
- [3,3]
उदाहरण 3: ऐसे सूचकांक प्राप्त करें जहां NumPy मैट्रिक्स की किसी भी पंक्ति में स्थिति सत्य है
निम्नलिखित कोड दिखाता है कि NumPy मैट्रिक्स में सभी पंक्ति सूचकांक कैसे प्राप्त करें जहां पंक्ति में किसी भी तत्व का मान 10 से अधिक है:
import numpy as np
#create NumPy matrix
my_matrix = np. array ([[2, 5, 9, 12],
[6, 7, 8, 8],
[2, 5, 7, 8],
[4, 1, 15, 11]])
#get index of rows where any value is greater than 10
n.p. asarray ( np.any (my_matrix> 10 , axis= 1 )). nonzero ()
(array([0, 3], dtype=int32),)
परिणाम से हम देख सकते हैं कि पंक्तियों 0 और 3 में कम से कम एक मान 10 से अधिक है।
नोट : ऐसे सूचकांक प्राप्त करने के लिए जहां किसी कॉलम में कोई शर्त सत्य है, इसके बजाय axis=0 का उपयोग करें।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि NumPy में अन्य सामान्य कार्य कैसे करें:
NumPy सरणी को मानों से कैसे भरें
NumPy सरणी से विशिष्ट तत्व कैसे निकालें
NumPy सरणी में तत्वों को कैसे बदलें
NumPy सरणी से एक विशिष्ट पंक्ति कैसे प्राप्त करें