numpy array assignment

Scott Gilbert xscottgjunk at
Mon Sep 23 18:33:03 EDT 2002

John Hunter <jdhunter at> wrote:
> I have a 2 dimensional array X which is NxM and a 1 dimensional array
> v which is Nx1.  I want to assign v to the k-th column of X
> import Numeric
> import RandomArray
> Z = Numeric.zeros( (3,10), Numeric.Float  )
> v = Numeric.ones( (3,1), Numeric.Float )
> Z[:,4] = v
> But I get the ValueError: Object too deep for desired array.  I have
> read over the numpy manual on slices and array methods and the closest
> thing I saw was the 'put' method, but this seems to be designed for 1d
> indexing.
> What's the best way to assign an arbitrary Nx1 array to a column of X?

Is this what you want?

     Z[:,4] = v[:,0]

v is actually a 2D array from Numeric's perspective, it's just the
second dimension isn't very deep.


More information about the Python-list mailing list