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

Brian Blais bblais at bryant.edu
Thu Mar 22 20:13:22 EDT 2007


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?

		thanks,

			Brian Blais

-- 
-----------------

              bblais at bryant.edu
              http://web.bryant.edu/~bblais





More information about the NumPy-Discussion mailing list