2010-05-25 23 views
14

के लिए बनाम आकार बदलें, मैं अपने numpy.array के अंत में एक मान जोड़ना चाहता हूं। मैंने numpy.append फ़ंक्शन देखा लेकिन यह मेरे पिछले नए मूल्य पर मूल सरणी की एक सटीक प्रतिलिपि करता है। मैं प्रतियां बचाना चाहूंगा क्योंकि मेरे सरणी बड़े हैं।numpy array

मैं resize विधि का उपयोग कर रहा हूं और फिर अंतिम मान को नए मान पर उपलब्ध कर सकता हूं। क्या आप पुष्टि कर सकते हैं कि resize अंत में एक मूल्य जोड़ने का सबसे अच्छा तरीका है? क्या यह किसी तरह से स्मृति को आगे नहीं ले रहा है?

oldSize = myArray,shape(0) 
myArray.resize(oldSize + 1) 
myArray[oldSize] = newValue 
+0

यह आपके लिए उपयोग किया जा सकता है: http://stackoverflow.com/questions/2345518/numpy-array-memory-issue। लेकिन यह नहीं हो सकता है :) – mtrw

उत्तर

7

मेरे संलग्न बनाम आकार बदलने के सरल समय प्रयोग से पता चला कि आकार बदलने के बारे 3x तेजी से और अपने सबसे तेज़ तरीका है कि मैं यह करने के लिए के बारे में सोच सकते हैं। इसके अलावा, this question का उत्तर यह इंगित करता है कि सरणी का आकार बदलने का तरीका है क्योंकि यह जगह में है।

फैसले: उपयोग का आकार बदलने के

पी.एस. आप एक numpy मेलिंग सूची से this discussion भी जांचना चाह सकते हैं।