Assigning to columns in NumPy?
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:
>>> aarray([[ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.]])>>> x = numpy.ones(5)>>> xarray([ 1., 1., 1., 1., 1.])>>> a[:,1] = x>>> aarray([[ 0., 1., 0.], [ 0., 1., 0.], [ 0., 1., 0.], [ 0., 1., 0.], [ 0., 1., 0.]])