NumPy का numpy.char.index() फंक्शन स्ट्रिंग ऐरे के प्रत्येक एलिमेंट में सबस्ट्रिंग की पहली घटना का इंडेक्स लौटाता है। start और end पैरामीटर्स से खोज रेंज सीमित कर सकते हैं। न मिलने पर ValueError उठाता है।
सिंटैक्स
numpy.char.index(a, sub, start=0, end=None)
- a: इनपुट स्ट्रिंग ऐरे।
- sub: खोजा जाने वाला सबस्ट्रिंग।
- start: खोज शुरुआत इंडेक्स (स्लाइस नोटेशन की तरह)।
- end: खोज अंत इंडेक्स (वैकल्पिक)।
- वापसी: इंडेक्स का इंट ऐरे।
- एक्सेप्शन: किसी भी स्ट्रिंग में sub न मिलने पर
ValueError।
उदाहरण: रेंज-लिमिटेड खोज
import numpy as np
# स्ट्रिंग ऐरे
arr = np.array(['KATIE', 'KATE', 'CRATE'])
print("ऐरे:\n", arr)
print("\nडेटा टाइप:", arr.dtype)
print("डायमेंशन्स:", arr.ndim)
print("आकार:", arr.shape)
print("एलिमेंट्स:", arr.size)
# 'AT' खोजें, पोजीशन 1 से 3 तक (start=1, end=4)
# स्लाइस [1:4] का अर्थ: इंडेक्स 1, 2, 3
indices = np.char.index(arr, 'AT', start=1, end=4)
print("\n'indices of 'AT' (रेंज 1-3):\n", indices)
आउटपुट
ऐरे:
['KATIE' 'KATE' 'CRATE']
डेटा टाइप:
चरण-दर-चरण विश्लेषण
| स्ट्रिंग | इंडेक्स | स्लाइस [1:4] | 'AT' पोजीशन | परिणाम |
|---|---|---|---|---|
| KATIE | 0 1 2 3 4 | ATI | इंडेक्स 1 पर शुरू | 1 |
| KATE | 0 1 2 3 | AT | इंडेक्स 1 पर शुरू | 1 |
| CRATE | 0 1 2 3 4 | RAT | इंडेक्स 2 पर शुरू | 2 |
index() बनाम find()
arr = np.array(['HELLO', 'WORLD'])
# index() - न मिलने पर ValueError
try:
np.char.index(arr, 'X')
except ValueError as e:
print("index() एरर:", e)
# find() - न मिलने पर -1
print("find() परिणाम:", np.char.find(arr, 'X')) # [-1 -1]
केस-सेंसिटिविटी
arr = np.array(['Hello', 'HELLO', 'hello'])
print("'LL' खोज:", np.char.index(arr, 'LL')) # [2 2 2]
print("'ll' खोज:", np.char.index(arr, 'll')) # [2 2 2] - केस-सेंसिटिव नहीं?
# वास्तव में numpy.char.index केस-सेंसिटिव है
# 'Hello' में 'LL' नहीं है, 'll' है
# आउटपुट होगा: ValueError (क्योंकि 'Hello' में 'LL' नहीं)
numpy.char मॉड्यूल के अन्य फंक्शन्स
np.char.find()— सबस्ट्रिंग खोजें, न मिलने पर -1np.char.rindex()— अंतिम घटना का इंडेक्स (ValueError यदि नहीं)np.char.rfind()— अंतिम घटना, -1 यदि नहींnp.char.count()— घटनाएं गिनेंnp.char.replace()— सबस्ट्रिंग बदलें
उपयोग के मामले
- टेक्स्ट प्रोसेसिंग पाइपलाइन्स में वेक्टोराइज़्ड स्ट्रिंग खोज।
- CSV/लॉग पार्सिंग में फील्ड पोजीशन खोजना।
- बायोइनफॉरमैटिक्स में DNA सीक्वेंस पैटर्न खोज।
नोट
index() का उपयोग तभी करें जब आप सुनिश्चित हों कि सबस्ट्रिंग मौजूद है। अन्यथा find() अधिक सुरक्षित है क्योंकि यह एरर नहीं उठाता।