40

次の MATLAB コードは、NumPy を使用してどのように記述できますか?

A = zeros(5, 100);
x = ones(5,1);
A(:,1) = x;

行への割り当ては簡単に機能するようですが、配列を別の配列の列に割り当てる例は見つかりませんでした。

4

2 に答える 2

67

を使用しa[:,1] = x[:,0]ます。の列を単一のnumpy配列としてx[:,0]選択する必要があります。xをフォーマットする方法を選択できる場合はx、最初から 2 次元配列にするのではなく、通常の (行) 配列にすることをお勧めします。

>>> a
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])
>>> x = numpy.ones(5)
>>> x
array([ 1.,  1.,  1.,  1.,  1.])
>>> a[:,1] = x
>>> a
array([[ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.]])
于 2012-06-06T22:32:26.780 に答える
11
>>> A = np.zeros((5,100))
>>> x = np.ones((5,1))
>>> A[:,:1] = x
于 2012-06-06T22:32:21.190 に答える