Создать цикл for, который объединяет векторы в матрицу?

#python #numpy

Вопрос:

У меня есть цикл for, где каждый цикл возвращает вектор. В конце каждого цикла я хочу объединить этот вектор с ранее сгенерированными векторами в матрицу.

Например, предположим, что первый цикл создает [1,2,3], а второй цикл создает [4,5,6], конец 2-го цикла объединит их для создания:

 [[1,2,3],  [4,5,6]]   

3-й цикл создает [7,8,9], теперь матрица будет:

 [[1,2,3],  [4,5,6],  [7,8,9]]  

Я попробовал np.concetante, но проблема в том, что мне пришлось бы преобразовывать каждый вектор в матрицу [1,3] в каждом цикле, иначе он объединяет их в 1 вектор. Это также сложно в первом цикле, когда не с чем объединить матрицу.

Есть ли более простой способ по существу «сложить» векторы вместе в конце каждого цикла?

Комментарии:

1. Попробуйте vstack или hstack.

2. может быть, np.vstack?

3. Если вы заранее знаете, сколько циклов вы будете повторять, было бы разумно предварительно выделить массив необходимого размера, а затем выполнить matrix[i] = vector в цикле.

4. Соберите их в один список и объедините, или stack весь список один раз.