добавить против изменения размера для массива NumPy - PullRequest
14 голосов
/ 26 мая 2010

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

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

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

1 Ответ

7 голосов
/ 26 мая 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...