Я генерирую список одномерных массивов numpy в цикле и позже конвертирую этот список в массив 2d numpy. Я бы предварительно выделил массив 2d numpy, если бы знал количество элементов раньше времени, но я этого не делаю, поэтому я помещаю все в список.
Макет ниже:
>>> list_of_arrays = map(lambda x: x*ones(2), range(5))
>>> list_of_arrays
[array([ 0., 0.]), array([ 1., 1.]), array([ 2., 2.]), array([ 3., 3.]), array([ 4., 4.])]
>>> arr = array(list_of_arrays)
>>> arr
array([[ 0., 0.],
[ 1., 1.],
[ 2., 2.],
[ 3., 3.],
[ 4., 4.]])
Мой вопрос следующий:
Есть ли лучший способ (по производительности) решить задачу сбора последовательных числовых данных (в моем случае массивов numpy), чем положить их в список, а затем сделать из него numpy.array(я создаю новый obj и копирование данных)? Существует ли "расширяемая" матричная структура данных, доступная в хорошо проверенном модуле?
Типичный размер моей 2d-матрицы будет составлять от 100x10 до 5000x10 поплавков
EDIT: В этом примере я использую карту, но в моем фактическом приложении у меня есть цикл цикла