NumPy खोज सरणी
सरणी खोज रहे हैं
आप एक निश्चित मान के लिए एक सरणी खोज सकते हैं, और एक मिलान प्राप्त करने वाले इंडेक्स को वापस कर सकते हैं।
किसी सरणी को खोजने के लिए, where()
विधि का उपयोग करें।
उदाहरण
इंडेक्स खोजें जहां मान 4 है:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x =
np.where(arr == 4)
print(x)
ऊपर दिया गया उदाहरण एक टपल लौटाएगा: (array([3, 5, 6],)
जिसका अर्थ है कि मान 4 सूचकांक 3, 5 और 6 पर मौजूद है।
उदाहरण
उन अनुक्रमणिकाओं को खोजें जहाँ मान सम हैं:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x =
np.where(arr%2 == 0)
print(x)
उदाहरण
उन सूचकांकों को खोजें जहाँ मान विषम हैं:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x =
np.where(arr%2 == 1)
print(x)
क्रमबद्ध खोजें
एक विधि है जिसे कहा जाता है searchsorted()
जो सरणी में एक द्विआधारी खोज करता है, और उस सूचकांक को लौटाता है जहां खोज क्रम को बनाए रखने के लिए निर्दिष्ट मूल्य डाला जाएगा।
विधि को क्रमबद्ध सरणियों पर उपयोग करने के searchsorted()
लिए माना जाता है।
उदाहरण
उन इंडेक्स को खोजें जहां मान 7 डाला जाना चाहिए:
import numpy as np
arr = np.array([6,
7, 8, 9])
x =
np.searchsorted(arr, 7)
print(x)
उदाहरण समझाया गया: क्रम में बने रहने के लिए संख्या 7 को अनुक्रमणिका 1 पर सम्मिलित किया जाना चाहिए।
विधि बाईं ओर से खोज शुरू करती है और पहला सूचकांक लौटाती है जहां संख्या 7 अगले मान से बड़ी नहीं है।
दाईं ओर से खोजें
डिफ़ॉल्ट रूप से सबसे बाईं ओर का सूचकांक लौटा दिया जाता है, लेकिन हम side='right'
इसके बजाय सबसे सही सूचकांक को वापस करने के लिए दे सकते हैं।
उदाहरण
उन अनुक्रमणिकाओं का पता लगाएं जहां मान 7 डाला जाना चाहिए, दाईं ओर से शुरू करना:
import numpy as np
arr = np.array([6,
7, 8, 9])
x =
np.searchsorted(arr, 7, side='right')
print(x)
उदाहरण समझाया गया: क्रम में बने रहने के लिए संख्या 7 को इंडेक्स 2 पर डाला जाना चाहिए।
विधि दाईं ओर से खोज शुरू करती है और पहला सूचकांक लौटाती है जहां संख्या 7 अगले मान से कम नहीं है।
एकाधिक मान
एक से अधिक मान खोजने के लिए, निर्दिष्ट मानों के साथ एक सरणी का उपयोग करें।
उदाहरण
उन सूचकांकों को खोजें जहाँ मान 2, 4, और 6 सम्मिलित किए जाने चाहिए:
import numpy as np
arr = np.array([1,
3, 5, 7])
x =
np.searchsorted(arr, [2, 4, 6])
print(x)
वापसी मान एक सरणी है: [1 2 3]
जिसमें तीन अनुक्रमणिकाएं होती हैं जहां ऑर्डर बनाए रखने के लिए मूल सरणी में 2, 4, 6 डाला जाएगा।