Comment le code MATLAB suivant pourrait-il être écrit à l'aide de NumPy?
A = zeros(5, 100);
x = ones(5,1);
A(:,1) = x;
L'affectation à des lignes semble fonctionner facilement, mais je n'ai pas trouvé d'exemple d'assignation d'un tableau à une colonne d'un autre tableau.
Utilisation a[:,1] = x[:,0]
. Vous avez besoin x[:,0]
pour sélectionner la colonne de x comme un seul tableau numpy. Si vous avez le choix de formater x, il est préférable de ne pas en faire un tableau à deux dimensions en premier lieu, mais juste un tableau régulier (ligne):
>>> 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.]])
>>> A = np.zeros((5,100))
>>> x = np.ones((5,1))
>>> A[:,:1] = x