Sebastian Haase wrote: > On 3/22/07, Stefan van der Walt <[EMAIL PROTECTED]> wrote: >> On Thu, Mar 22, 2007 at 08:13:22PM -0400, Brian Blais wrote: >>> Hello, >>> >>> I'd like to concatenate a couple of 1D arrays to make it a 2D array, with >>> two columns >>> (one for each of the original 1D arrays). I thought this would work: >>> >>> >>> In [47]:a=arange(0,10,1) >>> >>> In [48]:a >>> Out[48]:array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> >>> In [49]:b=arange(-10,0,1) >>> >>> In [51]:b >>> Out[51]:array([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1]) >>> >>> In [54]:concatenate((a,b)) >>> Out[54]: >>> array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -10, -9, -8, >>> -7, -6, -5, -4, -3, -2, -1]) >>> >>> In [55]:concatenate((a,b),axis=1) >>> Out[55]: >>> array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -10, -9, -8, >>> -7, -6, -5, -4, -3, -2, -1]) >>> >>> >>> but it never expands the dimensions. Do I have to do this... >>> >>> In [65]:concatenate((a.reshape(10,1),b.reshape(10,1)),axis=1) >>> Out[65]: >>> array([[ 0, -10], >>> [ 1, -9], >>> [ 2, -8], >>> [ 3, -7], >>> [ 4, -6], >>> [ 5, -5], >>> [ 6, -4], >>> [ 7, -3], >>> [ 8, -2], >>> [ 9, -1]]) >>> >>> >>> ? >>> >>> I thought there would be an easier way. Did I overlook something? >> How about >> >> N.vstack((a,b)).T >> > Also mentioned here should be the use of > newaxis. > As in > a[:,newaxis] > > However I never got a "good feel" for how to use it, so I can't > complete the code you would need.
n [9]:c = N.concatenate((a[:,N.newaxis], b[:,N.newaxis]), axis=1) In [10]:c Out[10]: array([[ 0, -10], [ 1, -9], [ 2, -8], [ 3, -7], [ 4, -6], [ 5, -5], [ 6, -4], [ 7, -3], [ 8, -2], [ 9, -1]]) > > -Sebastian Haase > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@scipy.org > http://projects.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion