Вот простой пример того, что, я думаю, вы пытаетесь сделать:
for i in range(5):
row = np.random.rand(5,)
if i == 0:
my_array = row
else:
my_array = np.vstack((my_array, row))
print(row)
Однако, это не очень эффективно с памятью, особенно если вы имеете дело с большими массивами, так как это должновыделить новую память на каждом цикле.Было бы гораздо лучше предварительно выделить пустой массив, а затем заполнить его, если это возможно.
Чтобы ответить на вопрос о том, как добавить столбец, это будет выглядеть примерно так:
import numpy as np
x = np.random.rand(5, 4)
column_to_append = np.random.rand(5,)
np.insert(x, x.shape[1], column_to_append, axis=1)
Опять же, это не эффективно с памятью и следует избегать, когда это возможно.Предраспределение намного лучше.