पायथन में कैसे ठीक करें: 'numpy.ndarray' ऑब्जेक्ट कॉल करने योग्य नहीं है
Python में NumPy का उपयोग करते समय आपके सामने आने वाली एक सामान्य त्रुटि यह है:
TypeError : 'numpy.ndarray' object is not callable
यह त्रुटि आमतौर पर तब होती है जब वर्गाकार कोष्ठक [ ] के बजाय गोल कोष्ठक () का उपयोग करके एक फ़ंक्शन के रूप में NumPy सरणी को कॉल करने का प्रयास किया जाता है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए हमारे पास निम्नलिखित NumPy सरणी है:
import numpy as np #create NumPy array x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])
अब मान लीजिए कि हम सरणी के पहले तत्व तक पहुंचने का प्रयास करते हैं:
#attempt to access the first element in the array
x(0)
TypeError : 'numpy.ndarray' object is not callable
चूँकि हमने राउंड () ब्रैकेट का उपयोग किया है, पायथन को लगता है कि हम NumPy x ऐरे को एक फ़ंक्शन के रूप में कॉल करने का प्रयास कर रहे हैं।
चूँकि x कोई फ़ंक्शन नहीं है, इसलिए हमें एक त्रुटि प्राप्त होती है।
त्रुटि को कैसे ठीक करें
इस त्रुटि को हल करने का तरीका केवल गोल कोष्ठक () के बजाय NumPy सरणी तत्वों तक पहुंचते समय वर्गाकार कोष्ठक [ ] का उपयोग करना है:
#access the first element in the array
x[0]
2
सरणी का पहला तत्व (2) प्रदर्शित होता है और हमें कोई त्रुटि नहीं मिलती क्योंकि हमने वर्गाकार कोष्ठक [ ] का उपयोग किया है।
यह भी ध्यान दें कि जब तक हम वर्गाकार कोष्ठक का उपयोग करते हैं, तब तक हम एक साथ कई सरणी तत्वों तक पहुंच सकते हैं [ ] :
#find sum of first three elements in array
x[0] + x[1] + x[2]
10
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:
कैसे ठीक करें: वैल्यूएरर: इंडेक्स में डुप्लिकेट प्रविष्टियाँ हैं, इन्हें दोबारा आकार नहीं दिया जा सकता
कैसे ठीक करें: प्रकार त्रुटि: अपेक्षित स्ट्रिंग या बाइट्स ऑब्जेक्ट
कैसे ठीक करें: लेखन त्रुटि: ऑब्जेक्ट ‘numpy.float64’ कॉल करने योग्य नहीं है