त्वरित फिक्स: .ndim संपत्ति की जांच - अगर इसकी 2, फिर .shape संपत्ति के रूप में आप उम्मीद कर काम करेंगे।
कारण क्यों: यदि .ndim संपत्ति 2 है, तो numpy एक आकृति मान की रिपोर्ट करता है जो सम्मेलन से सहमत है। यदि .ndim प्रॉपर्टी 1 है, तो numpy सिर्फ एक अलग तरीके से आकार की रिपोर्ट करता है।
अधिक बात करते समय: जब आप np.array को सूचियों की सूचियां पास करते हैं, तो .shape गुण मैट्रिक्स के आयामों के मानक विचारों से सहमत होगा: (पंक्तियां, कॉलम)।
यदि आप सिर्फ एक सूची np.array पास करते हैं, तो numpy को नहीं लगता कि उसके हाथों पर एक मैट्रिक्स है, और आकार को एक अलग तरीके से रिपोर्ट करता है।
सवाल यह है: क्या numpy लगता है कि यह एक मैट्रिक्स है, या ऐसा लगता है कि उसके हाथों में कुछ और है।
स्रोत
2017-12-03 01:59:18
अन्य लोग दूसरे तरीके से पूछ सकते हैं, इसलिए मुझे लगता है कि आपको यह बताना चाहिए कि आप बाद में क्यों उम्मीद करते हैं। – hakre
आप matlab के बारे में सोच रहे हैं, लेकिन 'सरणी' और 'मैट्रिक्स' के बीच अंतर की जांच करें, numpy में, सरणी बेहतर हैं। – seberg
@ hakre मुझे वास्तव में एक (क्षैतिज) सूची और 1 एक्सएन मैट्रिक्स के बीच कोई अंतर (वास्तविक जीवन में) नहीं दिखता है, इसलिए मुझे सादा सरणी का आकार 1 एक्सएन होना चाहिए - और मुझे उम्मीद है कि डी = [1 , 2] और नहीं [[1, 2]], लेकिन यह देखने के बाद कि यह क्या हो रहा है, इसका तर्क है। – user1710403