[Numpy-discussion] concatenating 1-D arrays to 2D

Robert Pyle rpyle at post.harvard.edu
Fri Mar 23 11:09:03 EDT 2007


On Mar 22, 2007, at 8:13 PM, 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?

What's wrong with zip? Or did *I* miss the point?  (I'm just getting  
the hang of numpy.)

~ $ python
Python 2.5 (r25:51918, Sep 19 2006, 08:49:13)
[GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>> from numpy import *
 >>> a=arange(0,10,1)
 >>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 >>> b=arange(-10,0,1)
 >>> b
array([-10,  -9,  -8,  -7,  -6,  -5,  -4,  -3,  -2,  -1])
 >>> array(zip(a,b))
array([[  0, -10],
        [  1,  -9],
        [  2,  -8],
        [  3,  -7],
        [  4,  -6],
        [  5,  -5],
        [  6,  -4],
        [  7,  -3],
        [  8,  -2],
        [  9,  -1]])
 >>>

Bob Pyle




More information about the NumPy-Discussion mailing list