Чтобы создать пустой многомерный массив в NumPy (например, двумерный массив m * n для хранения вашей матрицы), на случай, если вы не знаете, сколько строк вы добавите, и вам не нужны вычислительные затраты, Стивен Симмонс упомянуто (а именно, перестраивая массив при каждом добавлении), вы можете сжать до 0 измерение, к которому вы хотите добавить: X = np.empty (shape = [0, n]).
Таким образом, вы можете использовать, например (здесь m = 5, который мы предполагаем, что мы не знали при создании пустой матрицы, и n = 2):
import numpy as np
n = 2
X = np.empty(shape=[0, n])
for i in range(5):
for j in range(2):
X = np.append(X, [[i, j]], axis=0)
print X
which will give you:
[[ 0. 0.]
[ 0. 1.]
[ 1. 0.]
[ 1. 1.]
[ 2. 0.]
[ 2. 1.]
[ 3. 0.]
[ 3. 1.]
[ 4. 0.]
[ 4. 1.]]