Numpy, adding a row to a matrix
saptarshi.guha at gmail.com
Tue Jun 10 03:06:12 CEST 2008
Thank you. Yes, I will post to the numpy mailing list in future.
On Jun 9, 4:04 pm, Robert Kern <robert.k... at gmail.com> wrote:
> sapsi wrote:
> > Hello,
> > I have a numpy array (2 rows 3 colums)
> > import numpy
> > a=numpy.array( [ [1,2,3] , [3,3,1] ])
> > I wish to add a row, this is how i do it
> > s=a.shape
> > numpy.resize(a,s+1,s)
> > a[s]=new row vector.
> > Q: Is this a costly operation?
> It can be if you have large arrays.
> > What happens if i have to it several
> > (and unknown) number of times?
> > is there a simpler way to add a row?
> numpy.vstack([a, newrow])
> Generally speaking, you shouldn't resize numpy arrays. If you need to construct
> an array by appending, build up a list instead and use vstack() (or hstack() or
> dstack() or column_stack() or concatenate() depending on the geometry).
> We also have a numpy mailing list, which you should direct future numpy
> questions to:
> Robert Kern
> "I have come to believe that the whole world is an enigma, a harmless enigma
> that is made terrible by our own mad attempt to interpret it as though it had
> an underlying truth."
> -- Umberto Eco
More information about the Python-list