добавьте по сравнению с, изменяют размер для массива numpy

Я хотел бы добавить значение в конце моего numpy.array. Я видел numpy.append функционируйте, но это выполняет точную копию исходного массива, добавляющего наконец мое новое значение. Я хотел бы избежать копий, так как мои массивы являются большими.

Я использую resize метод и затем набор последний индекс, доступный новому значению. Можно ли подтвердить это resize лучший способ состоит в том, чтобы добавить значение в конце? Разве это не перемещает память некоторым образом?

oldSize = myArray,shape(0)
myArray.resize( oldSize + 1 )
myArray[oldSize] = newValue
14
задан Saullo G. P. Castro 12 May 2013 в 21:21
поделиться

1 ответ

Мой простой временной эксперимент с аппендом против изменения размера показал, что изменение размера примерно в 3 раза быстрее, и это самый быстрый способ, который я могу придумать для этого. Кроме того, ответ на этот вопрос, похоже, подразумевает, что изменение размера массива - это лучший способ, потому что оно выполняется на месте.

Вердикт: Используйте resize

P.S. Вы также можете ознакомиться с этим обсуждением из списка рассылки numpy.

7
ответ дан 1 December 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: