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.
To transpose NumPy array ndarray (swap rows and columns), use the T attribute ( . T ), the ndarray method transpose() and the numpy. transpose() function.
Data in NumPy arrays can be accessed directly via column and row indexes, and this is reasonably straightforward.
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.]])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With