2010-05-25 79 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