概要
- NumPyでは
np.zeros((0, 4))
みたいに大きさ0のzerosを定義できる - これを使うと空リストを定義してappend()で追加していくみたいなことがarrayでもできる
NumPyのarrayでもlist.append()みたいなことがやりたい
リストはappendが使える
Pythonでリストを作るときによくやるのが
a = []
for i in range(10):
a.append(1)
みたいなやつ
Arrayにはappendはない
NumPyのArrayで同じことをやろうとするとnumpy.vstack()やnumpy.hstack()を使うことになる
→ くっつける2つのArrayの行数(or 列数)が合わないといけないので、初めにshape=(1, 4)のArrayを定義してました
ダメな方
import numpy as np
a = np.zeros((1, 4))
for i in range(10):
ones = np.ones((1, 4))
a = a.vstack((a, ones))
a = a[1:, :] # 最初に定義した部分だけ除いてる
大きさ0のArrayが定義できる
初めにshape=(1, 4)のArrayを定義してから除く操作が気持ち悪く感じていたので、試しに大きさ0のzerosを定義したらいけた
見やすい方
import numpy as np
a = np.zeros((0, 4)) # 大きさ0のzeros
for i in range(10):
ones = np.ones((1, 4))
a = a.vstack((a, ones))