ゼロの多次元配列を作成する必要があります。
2 (D=2) または 3 (D=3) 次元の場合、これは簡単で、次のように使用します。
a = numpy.zeros(shape=(n,n))
また
a = numpy.zeros(shape=(n,n,n))
より高い D の場合、長さ n の配列を作成するにはどうすればよいですか?
ゼロの多次元配列を作成する必要があります。
2 (D=2) または 3 (D=3) 次元の場合、これは簡単で、次のように使用します。
a = numpy.zeros(shape=(n,n))
また
a = numpy.zeros(shape=(n,n,n))
より高い D の場合、長さ n の配列を作成するにはどうすればよいですか?
タプル(n,)
に必要な次元数を掛けることができます。例えば:
>>> import numpy as np
>>> N=2
>>> np.zeros((N,)*1)
array([ 0., 0.])
>>> np.zeros((N,)*2)
array([[ 0., 0.],
[ 0., 0.]])
>>> np.zeros((N,)*3)
array([[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]])
>>> sh = (10, 10, 10, 10)
>>> z1 = zeros(10000).reshape(*sh)
>>> z1.shape
(10, 10, 10, 10)
編集:上記は間違っていませんが、過剰です。@mgilsonの答えはより良いです。
In [4]: import numpy
In [5]: n = 2
In [6]: d = 4
In [7]: a = numpy.zeros(shape=[n]*d)
In [8]: a
Out[8]:
array([[[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]],
[[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]]])