Я хотел бы добавить значение в конце моего numpy.array
. Я видел numpy.append
функционируйте, но это выполняет точную копию исходного массива, добавляющего наконец мое новое значение. Я хотел бы избежать копий, так как мои массивы являются большими.
Я использую resize
метод и затем набор последний индекс, доступный новому значению. Можно ли подтвердить это resize
лучший способ состоит в том, чтобы добавить значение в конце? Разве это не перемещает память некоторым образом?
oldSize = myArray,shape(0)
myArray.resize( oldSize + 1 )
myArray[oldSize] = newValue
Мой простой временной эксперимент с аппендом против изменения размера показал, что изменение размера примерно в 3 раза быстрее, и это самый быстрый способ, который я могу придумать для этого. Кроме того, ответ на этот вопрос, похоже, подразумевает, что изменение размера массива - это лучший способ, потому что оно выполняется на месте.
Вердикт: Используйте resize
P.S. Вы также можете ознакомиться с этим обсуждением из списка рассылки numpy.