Table of Contents
Toggleआप एक एरे में किसी निश्चित मान के लिए खोज कर सकते हैं, और उन सूचियों के इंडेक्स प्राप्त कर सकते हैं जो मेल खाते हैं।
एरे में खोजने के लिए, आप where() विधि का उपयोग कर सकते हैं।
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() विधि को केवल सॉर्टेड एरेस पर ही उपयोग किया जाता है।
import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)
उदाहरण समझाया गया: नंबर 7 को इंडेक्स 1 पर डाला जाना चाहिए ताकि सॉर्ट ऑर्डर बना रहे।
यह विधि बाएं से खोज शुरू करती है और पहले उस इंडेक्स को लौटाती है जहाँ नंबर 7, अगली वैल्यू से बड़ा नहीं है।
डिफ़ॉल्ट रूप से सबसे बाईं इंडेक्स लौटाई जाती है, लेकिन हम side='right' का उपयोग करके दाहिनी इंडेक्स भी प्राप्त कर सकते हैं।
import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)
उदाहरण समझाया गया: नंबर 7 को इंडेक्स 2 पर डाला जाना चाहिए ताकि सॉर्ट ऑर्डर बना रहे।
एक से अधिक मानों के लिए खोजने के लिए, आप उन मानों के साथ एक एरे का उपयोग कर सकते हैं।
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 को मूल एरे में डालकर क्रम बनाए रखा जा सकता है।
