ベストアンサー1
これは、NumPy を効率的に使用するための間違ったメンタル モデルです。NumPy 配列は連続したメモリ ブロックに格納されます。既存の配列に行または列を追加するには、配列全体を新しいメモリ ブロックにコピーする必要があり、新しい要素を格納するためのギャップが作成されます。これを繰り返し行うと、非常に非効率的です。
行を追加する代わりに、適切なサイズの配列を割り当て、行ごとに割り当てます。
>>> import numpy as np
>>> a = np.zeros(shape=(3, 2))
>>> a
array([[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
>>> a[0] = [1, 2]
>>> a[1] = [3, 4]
>>> a[2] = [5, 6]
>>> a
array([[ 1., 2.],
[ 3., 4.],
[ 5., 6.]])