2010-05-25 57 views
14

我想在我的numpy.array的末尾追加一個值。 我看到了numpy.append函數,但是它會執行原始數組的精確副本,並最終添加我的新值。我想避免複製,因爲我的數組很大。append與numpy數組的調整大小

我使用resize方法,然後將最後一個可用索引設置爲新值。 您是否確認resize是在最後附加值的最佳方式? 它是不是在某處移動內存?追加與調整大小的

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

這可能對你有用:http://stackoverflow.com/questions/2345518/numpy-array-memory-issue。但它可能不會:) – mtrw 2010-05-26 07:54:19

回答

7

我簡單的計時試驗表明,調整大小大約是3倍速度更快,它是我能想到的這樣做的最快方法。此外,this question的答案似乎意味着調整數組的大小是一條路,因爲它在原地。

判決: 使用調整

附:你也可能想從一個numpy的郵件列表中退出this discussion