n
各要素がである長さのNumPy配列を作成する必要がありますv
。
より良いものはありますか:
a = empty(n)
for i in range(n):
a[i] = v
私が知っているzeros
とones
、V Iは、使用することができます= 0、1のために働くだろうv * ones(n)
が、それは時に動作しませんはるかに遅くなります。v
でNone
、また
v * ones(n)
、それは高価な乗算を使用するため、依然として恐ろしいです。と置き換え*
て+
も、v + zeros(n)
場合によっては驚くほど良いことがわかります(stackoverflow.com/questions/5891410/…)。
var = np.empty(n)
から 'var [:] = v'で埋めるのがさらに高速です。(ところで、これnp.full()
と同じくらい高速です)
a = np.zeros(n)
ループでの使用はよりも高速ですa.fill(0)
。a=np.zeros(n)
新しいメモリを割り当てて初期化する必要があると思ったので、これは私が期待していたこととは逆です。誰かがこれを説明できたら、私はそれを感謝します。