Подтвердить что ты не робот

Назначение столбцам в NumPy?

Как можно записать следующий код MATLAB с помощью NumPy?

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

Назначение строк, кажется, работает легко, но я не мог найти пример назначения массива столбцу другого массива.

4b9b3361

Ответ 1

Используйте a[:,1] = x[:,0]. Вам нужно x[:,0], чтобы выбрать столбец x как один массив numpy. Если у вас есть выбор, как форматировать x, лучше не делать его двумерным массивом, а просто регулярным (строковым) массивом:

>>> 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.]])

Ответ 2

>>> A = np.zeros((5,100))
>>> x = np.ones((5,1))
>>> A[:,:1] = x