Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Assigning to columns in NumPy?

How could the following MATLAB code be written using NumPy?

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

Assigning to rows seems to work easily, but I couldn't find an example of assigning an array to a column of another array.

like image 306
Benno Avatar asked Jun 06 '12 22:06

Benno


People also ask

How do I change columns in NumPy?

To transpose NumPy array ndarray (swap rows and columns), use the T attribute ( . T ), the ndarray method transpose() and the numpy. transpose() function.

Are NumPy arrays rows or columns?

Data in NumPy arrays can be accessed directly via column and row indexes, and this is reasonably straightforward.


1 Answers

Use a[:,1] = x[:,0]. You need x[:,0] to select the column of x as a single numpy array. If you have the choice of how to format x, it's better to not make it a 2-dimensional array in the first place, but just a regular (row) array:

>>> 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.]]) 
like image 142
BrenBarn Avatar answered Oct 12 '22 04:10

BrenBarn