Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन विशेषता त्रुटि:'numpy.ndarray' ऑब्जेक्ट में कोई विशेषता नहीं है 'संलग्न' समाधान

नियमित पायथन में, आप append() . का उपयोग कर सकते हैं सूची के अंत में किसी आइटम को जोड़ने की विधि। आप इस विधि का उपयोग NumPy में नहीं कर सकते। यदि आप पायथन का उपयोग करने का प्रयास करते हैं append() किसी आइटम को NumPy सरणी के अंत में जोड़ने की विधि, आप देखेंगे AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’ त्रुटि।

यह मार्गदर्शिका इस NumPy त्रुटि के कारण और समाधान के बारे में विस्तार से चर्चा करती है। हम इस त्रुटि को ठीक करने का तरीका बताने के लिए एक उदाहरण का उल्लेख करेंगे। आइए शुरू करें।

विशेषता त्रुटि:'numpy.ndarray' ऑब्जेक्ट में कोई विशेषता नहीं है 'संलग्न करें'

AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’ त्रुटि append() . का उपयोग करने के कारण होती है किसी आइटम को NumPy सरणी में जोड़ने की विधि। इसके बजाय आपको numpy.append() . का उपयोग करना चाहिए विधि यदि आप किसी सूची में कोई आइटम जोड़ना चाहते हैं।

numpy.append() विधि विशेष रूप से NumPy पुस्तकालय के लिए लिखी गई थी। NumPy सरणियाँ नियमित पायथन सरणियों से भिन्न होती हैं, इसलिए यह उचित है कि किसी आइटम को किसी सरणी में जोड़ने के लिए NumPy की अपनी विधि है।

NumPy append() विधि इस वाक्यविन्यास का उपयोग करती है:

numpy.append(list_to_add_item, item_to_add)

हम जिन दो मापदंडों पर ध्यान केंद्रित करेंगे वे हैं:

  • list_to_add_item:वह सूची जिसमें आप कोई आइटम जोड़ना चाहते हैं।
  • item_to_add:वह आइटम जिसे आप अपने द्वारा निर्दिष्ट सूची में जोड़ना चाहते हैं।

numpy.append() विधि एक नई सरणी देता है जिसमें "list_to_add_item" सरणी के आधार पर अंत में आपका निर्दिष्ट आइटम होता है। ध्यान दें कि आप append() नहीं डालते हैं उस सूची के बाद जिसमें आप एक आइटम जोड़ना चाहते हैं, जैसे आप नियमित पायथन में करेंगे।

आइए इस त्रुटि का एक उदाहरण देखें।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

एक उदाहरण स्थिति

हम एक ऐसा एप्लिकेशन बना रहे हैं जो किसी कारखाने में गुणवत्ता आश्वासन के बाद उत्पाद को प्राप्त प्रदर्शन ग्रेड को ट्रैक करता है। उत्पादों को 50 के पैमाने पर स्कोर किया जाता है और सभी उत्पादों को दुनिया में बाहर जाने के लिए कम से कम 40 का स्कोर हासिल करना चाहिए।

हम एप्लिकेशन के उस हिस्से का निर्माण कर रहे हैं जो एक सरणी में नए स्कोर जोड़ता है जो उस स्कोर को संग्रहीत करता है जो उत्पाद को अंतिम दिन के लिए प्राप्त हुआ है। इस प्रोग्राम को बनाने के लिए, हम append() . का उपयोग कर सकते हैं तरीका:

import numpy as np

scores = np.array([49, 48, 49, 47, 42, 48, 46, 50])
to_add = 49

scores.append(to_add)

print(scores)
के रूप में numpy आयात करें

हमारा कार्यक्रम स्कोर 39 को हमारे स्कोर की सूची में जोड़ता है। वास्तविक दुनिया की स्थिति में, हम इन अंकों को एक फ़ाइल से पढ़ सकते हैं, लेकिन अपने उदाहरण को सरल रखने के लिए हमने अपने कार्यक्रम में एक सरणी घोषित की है। हमारे स्कोर के सरणी में नया स्कोर जोड़े जाने के बाद हमारा कोड पायथन कंसोल में सभी स्कोर की एक सूची प्रिंट करता है।

आइए अपना कोड चलाएं और देखें कि क्या होता है:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
	scores.append(to_add)
AttributeError: 'numpy.ndarray' object has no attribute 'append'

हमारा कोड एक त्रुटि देता है।

समाधान

हम नियमित पायथन का उपयोग करने की कोशिश कर रहे हैं append() कस्टम-बिल्ड numpy.append() के बजाय हमारे NumPy सरणी में आइटम जोड़ने की विधि तरीका।

इस त्रुटि को हल करने के लिए, हमें numpy.append() . के सिंटैक्स का उपयोग करने की आवश्यकता है तरीका:

import numpy as np

scores = np.array([49, 48, 49, 47, 42, 48, 46, 50])

scores = np.append(scores, 49)

print(scores)

हम NumPy लाइब्रेरी को संदर्भित करने के लिए np शब्द का उपयोग करते हैं। यह काम करता है क्योंकि हमने अपने आयात विवरण में numpy लाइब्रेरी को np के रूप में परिभाषित किया है। हम उस सूची को पास करते हैं जिसमें हम अपने पहले तर्क के रूप में एक आइटम जोड़ना चाहते हैं; हमारे सरणी में जोड़ने के लिए नया स्कोर हमारा दूसरा तर्क है।

हमें अपने np.append() . का परिणाम असाइन करना होगा एक नए मूल्य के लिए संचालन। ऐसा इसलिए है क्योंकि np.append() मौजूदा सरणी को संशोधित नहीं करता है। इसके बजाय, विधि आपके नए मूल्य के साथ एक नई सरणी बनाती है।

आइए अपना कार्यक्रम चलाते हैं और देखते हैं कि क्या होता है:

[49 48 49 47 42 48 46 50 49]

संख्या 49 को हमारी सूची के अंत में सफलतापूर्वक जोड़ दिया गया है।

निष्कर्ष

AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’ त्रुटि इंगित करती है कि आप नियमित पायथन का उपयोग कर रहे हैं append() किसी आइटम को NumPy सरणी में जोड़ने की विधि। इसके बजाय, आपको numpy.append() . का उपयोग करना चाहिए विधि, जो वाक्य रचना का उपयोग करती है:numpy.append(list, item_to_add)। यह विधि अंत में जोड़े गए निर्दिष्ट आइटम के साथ एक नई सूची बनाती है।

क्या आप NumPy में कोडिंग के बारे में अधिक जानना चाहते हैं? NumPy कैसे सीखें गाइड देखें। इस गाइड में शुरुआती और मध्यवर्ती डेवलपर्स के लिए उपयुक्त सीखने के संसाधनों की सूची के साथ-साथ NumPy के बारे में अपने ज्ञान का निर्माण करने के बारे में शीर्ष युक्तियाँ शामिल हैं।


  1. पायथन कमजोर संदर्भ

    पायथन में कमजोर संदर्भ बनाने के लिए, हमें कमजोर . का उपयोग करने की आवश्यकता है मापांक। कमजोर वस्तु को जीवित रखने के लिए पर्याप्त नहीं है। कमजोर संदर्भ का मूल उपयोग किसी बड़ी वस्तु के लिए कैश या मैपिंग को लागू करना है। इस मॉड्यूल का उपयोग करने के लिए, हमें इसका उपयोग करके आयात करना चाहिए - import w

  1. कैसे पता चलेगा कि किसी ऑब्जेक्ट में पाइथन में कोई विशेषता है या नहीं?

    हम यह पता लगाने के लिए hasattr () फ़ंक्शन का उपयोग कर सकते हैं कि क्या एक पायथन ऑब्जेक्ट obj में एक निश्चित विशेषता या संपत्ति है। hasattr (obj, विशेषता): पायथन में सम्मेलन यह है कि, यदि संपत्ति होने की संभावना है, तो बस इसे कॉल करें और इसे एक कोशिश/ब्लॉक को छोड़कर पकड़ें। यदि संपत्ति के न होने क

  1. पायथन में टाइम टुपल क्या है?

    datetime.date उदाहरणों की timetuple() विधि time.struct_time प्रकार की वस्तु लौटाती है। स्ट्रक्चर_टाइम एक नामित टपल ऑब्जेक्ट है (एक नामित टपल ऑब्जेक्ट में ऐसे गुण होते हैं जिन्हें किसी इंडेक्स या नाम से एक्सेस किया जा सकता है)। डेलाइट सेविंग टाइम सक्रिय है या नहीं यह इंगित करने के लिए स्ट्रक्चर_टाइम