NumPy で空の配列を作成してそれに追加するにはどうすればよいですか? 質問する

NumPy で空の配列を作成してそれに追加するにはどうすればよいですか? 質問する

空の配列を作成し、そこに項目を 1 つずつ追加したいと思います。

xs = []
for item in data:
    xs.append(item)

このリスト形式の表記法は、ナンピ配列ですか?

ベストアンサー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.]])

おすすめ記事