#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
весь список один раз.