empty
numpy data arrayを初期化せずに生成する。生成にかかるコストがzerosよりも圧倒的に低いので、配列を確保するだけならこれを使う。np.nanをかけて全部nanの配列を作る場合でも、emptyを使う方がzerosを使うよりも速い。
参考、
empty elapsed time= 0.0063779354095458984
zeros elapsed time= 3.6120433807373047
が以下の結果。
import numpy as np
import time
tsz=365*30
zsz=40
ysz=90
xsz=180
t1=time.time()
for t in range(tsz):
x=np.empty([zsz,ysz,xsz])
t2=time.time()
print('empty elapsed time=',t2-t1)
t1=time.time()
for t in range(tsz):
x=np.zeros([zsz,ysz,xsz])
t2=time.time()
print('zeros elapsed time=',t2-t1)