दिलचस्प पोस्ट
टीएसक्यूएल का उपयोग कर डेटाबेस में सभी तालिकाओं की सूची कैसे प्राप्त करूं? ब्लूटूथ का उपयोग करते हुए दो आईफोन डिवाइसेस के बीच दूरी कैसे मापें? सबप्रोसीस। पोपेन: टर्मिनल और वेरिएबल्स दोनों में स्टडआउट और स्टेडरर क्लोन करना संपत्ति द्वारा निर्दिष्ट सरणी के तत्व को WPF में बाध्यकारी स्क्रॉल व्यू के अंदर एंड्रॉइड सूची दृश्य टेक्स्ट क्लिक पर एचटीएमएल / सीएसएस पॉपअप डिविजन मैं जावास्क्रिप्ट के जरिए एक क्रॉस-डोमेन POST अनुरोध कैसे भेजूं? हैशमैप में प्रविष्टि ऑर्डर कैसे सुरक्षित रखना है? WPF C # बटन शैली किसी ऐप से एक छवि का अनुरोध करते समय मेरे ऐप को क्या चयनकर्ता में प्रकट करना चाहिए? रनटाइम पर XAML लोड हो रहा है? जावा के साथ गतिशील कक्षा बनाना एक्सेस एसक्यूएल में केस चुनने के बराबर क्या है? यूएसी के माध्यम से प्रोसेसब्ल्युल्डर की प्रक्रिया को ऊपर उठाना? मैं जीआईटी रेपो से एक फाइल कैसे हटा सकता हूं?

एक numpy array पर देखें?

मेरे पास एक 2 डी numpy सरणी है क्या उस पर एक दृश्य बनाने का कोई तरीका है जिसमें पहले की पंक्तियों और सभी स्तंभ शामिल होंगे?

बिंदु अंतर्निहित डेटा की नकल से बचने के लिए है (सरणी इतनी बड़ी है कि आंशिक प्रतियां बनाना संभव नहीं है।)

Solutions Collecting From Web of "एक numpy array पर देखें?"

बेशक, बस इंडेक्स के रूप में आप सामान्य रूप से होगा। उदाहरण y = x[:k, :] यह मूल दृश्य में एक दृश्य वापस करेगा। कोई डेटा कॉपी नहीं किया जाएगा, और y किए गए किसी भी अपडेट को x और इसके विपरीत दिखाई देगा।


संपादित करें:

मैं आमतौर पर> यूआईटी 8 के 10 जीबी 3 डी सरणियों के साथ काम करता हूं, इसलिए मैं इस बारे में बहुत चिंतित हूं … मेमोरी प्रबंधन में नम्पी बहुत कुशल हो सकता है अगर आप कुछ चीजें ध्यान में रखते हैं। स्मृति में सरणियों की प्रतियां बनाने से बचने के कुछ उपाय यहां दिए गए हैं:

सरणी की प्रतिलिपि बनाने से बचने के लिए += , -= , *= , आदि का उपयोग करें। उदाहरण x += 10 जगह में सरणी को संशोधित करेगा, जबकि x = x + 10 प्रतिलिपि बनाकर उसे संशोधित करेगा। (यहां तक ​​कि एक नक्स एक्सस्प भी देखें )

यदि आप x = x + 10 साथ एक प्रतिलिपि बनाना चाहते हैं, तो ध्यान रखें कि x = x + 10.0 x को स्वचालित रूप से एक फ्लोटिंग प्वाइंट एरे से ऊपर-जाली में डाल दिया जाएगा, अगर वह पहले से ही नहीं था हालांकि, x += 10.0 , जहां x एक पूर्णांक सरणी है, 10.0 को सरणी के रूप में एक ही सटीक के अंत में डाली जाएगी, बजाय

इसके अतिरिक्त, कई numpy फ़ंक्शंस एक out पैरामीटर लेते हैं, ताकि आप np.abs(x, x) जैसी चीजें कर सकें, जो x -प्लेस के निरपेक्ष मान ले सकते हैं।


दूसरी संपादन के रूप में, यहां कुछ और विचारों पर युक्तियां बनायीं हैं- नकली एरेज़ के साथ प्रतियां:

अजगर सूचियों के विपरीत, y = x[:] एक प्रति वापस नहीं लौटाता है, यह एक दृश्य देता है यदि आप एक प्रति चाहते हैं (जो निश्चित रूप से, आपके द्वारा उपयोग की जा रही स्मृति की मात्रा दोगुनी होगी) y = x.copy() उपयोग करें

आप अक्सर numpy arrays के "फैंसी अनुक्रमणिका" के बारे में सुनाएंगे एक सूची के रूप में एक सूची (या पूर्णांक सरणी) का उपयोग करना "फैंसी इंडेक्सिंग" है यह बहुत उपयोगी हो सकता है, लेकिन डेटा की प्रतियां

इस का एक उदाहरण के रूप में: y = x[[0, 1, 2], :] एक प्रति देता है, जबकि y = x[:3,:] एक दृश्य वापस आ जाएगा

यहां तक ​​कि वास्तव में पागल इंडेक्सिंग x[4:100:5, :-10:-1, None] "सामान्य" इंडेक्सिंग है और एक दृश्य वापस आ जाएगी, हालांकि, इतने बड़े पैमाने पर सभी तरह के टुकड़े टुकड़े करने के लिए उपयोग करने में डर नहींें सरणियों।

x.astype(<dtype>) नए प्रकार के रूप में डेटा की प्रतिलिपि वापस करेगा, जबकि x.view(<dtype>) एक दृश्य वापस करेगा।

इस के साथ सावधान रहें, हालांकि … यह अत्यंत शक्तिशाली और उपयोगी है, लेकिन आपको यह समझने की ज़रूरत है कि कैसे अंतर्निहित डेटा को स्मृति में संग्रहीत किया जाता है यदि आपके पास फ्लोट की एक सरणी है, और उन्हें ints के रूप में देखें, (या इसके विपरीत) numpy asts के रूप में सरणी के अंतर्निहित बिट्स की व्याख्या करेगा।

उदाहरण के लिए, इसका मतलब है कि 1.0 बिट-एंडियन सिस्टम पर एक 64 बिट फ्लोट के रूप में 4607182418800017408 होगा, जब इसे 64 बिट इंट के रूप में देखा जाएगा, और [ 0, 0, 0, 0, 0, 0, 240, 63] की एक सरणी अगर देखा जाए एक यूआईटी 8 के रूप में यह वाकई बहुत अच्छा है जब बड़े सरणियों पर कुछ प्रकार की थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी-थोड़ी मोड़ो की ज़रूरत होती है, हालांकि … आपके पास मेमोरी बफर का व्याख्या कैसे किया जाता है, इस पर कम स्तर पर नियंत्रण है