मुझे एक प्रतिलिपि के बजाय दृश्य देखने के लिए "फैंसी इंडेक्सिंग" (वाई = एक्स [[0, 5, 21]]) प्राप्त करने का एक तरीका है।क्या मुझे निर्दिष्ट इंडेक्स पर एक numpy सरणी का दृश्य मिल सकता है? ("फैंसी इंडेक्सिंग" से एक दृश्य)
मेरे पास एक सरणी है, लेकिन मैं इस सरणी के एक सबसेट (इंडेक्स की सूची द्वारा निर्दिष्ट) के साथ काम करने में सक्षम होना चाहता हूं इस तरह से इस सबसेट में किए गए परिवर्तनों को भी सही जगहों पर रखा जाता है बड़ी सरणी अगर मैं पहले 10 तत्वों के साथ कुछ करना चाहता हूं, तो मैं नियमित स्लाइसिंग वाई = एक्स [0:10] का उपयोग कर सकता हूं। यह बहुत अच्छा काम करता है, क्योंकि नियमित टुकड़ा एक दृश्य देता है। समस्या यह है कि अगर मैं 0:10 नहीं चाहता, लेकिन सूचकांक का मनमाना सेट है।
क्या ऐसा करने का कोई तरीका है?
आप को हरा देखभाल करने के लिए की आवश्यकता होगी मुझे इसके लिए एकमात्र चीज जो मैं जोड़ने जा रहा था वह यह था: http://projects.scipy.org/numpy/ticket/224 संकेत दिया कि यह बदलने की संभावना नहीं है। – Paul
ओह अगर इस तरह के असाइनमेंट अनुक्रमित सरणी (x [ii] = y) तब काम करता है जो मुझे लगता है कि मुझे लगता है। – Eskil
@Eskil ऐसा इसलिए है क्योंकि 'x [ii] = y' 'x .__ setitem __ (ii, y)' को आमंत्रित करता है, इसलिए इसमें कोई प्रतिलिपि शामिल नहीं है हालांकि आपने इंडेक्स सरणी का उपयोग किया था। यह सच है कि 'x [ii]' एक प्रतिलिपि देता है लेकिन यह 'x .__ getitem __ (ii) 'का आह्वान करता है और यह एक अलग कहानी है। –