Ответ 1
В общем случае вы можете объединить целую последовательность массивов вдоль любой оси:
numpy.concatenate( LIST, axis=0 )
но вы do должны беспокоиться о форме и размерности каждого массива в списке (для двумерного вывода 5x3 вам нужно убедиться, что все они являются двумерными n-by -3 массивов уже). Если вы хотите объединить 1-мерные массивы в виде строк двумерного вывода, вам необходимо расширить их размерность.
vstack
- это простое в использовании решение, потому что оно будет принимать последовательность 1- и/или 2-мерных массивов и автоматически увеличивать размерность, если необходимо, прежде чем объединить весь список вместе. В тех случаях, когда требуется новое измерение, оно добавляется слева, поэтому каждый массив n
-element 1D становится массивом 1-by-n
2D. Опять же, вы можете объединить весь список сразу без необходимости итерации:
numpy.vstack( LIST )
Существует также аналогичная функция hstack
для конкатенации 1- и/или 2-D массивов в качестве столбцов двумерного вывода (там, где требуется расширение, добавляется новое измерение справа, так что a n
-element 1D становится двумерным массивом n
-by-1).
Наконец, в конкретном случае вертикальной укладки 1-D массивов также работает:
numpy.array( LIST )
... потому что массивы могут быть построены из последовательности других массивов, добавив новое измерение в начало.