[Numpy-discussion] Stacking a 2d array onto a 3d array
Dewald Pieterse
dewald.pieterse at gmail.com
Tue Oct 26 20:15:19 EDT 2010
Starting with:
In [93]: test =
> numpy.array([[[1,1,1],[1,1,1]],[[2,2,2],[2,2,2]],[[3,3,3],[3,3,3]]])
>
> In [94]: test
> Out[94]:
> array([[[1, 1, 1],
> [1, 1, 1]],
>
> [[2, 2, 2],
> [2, 2, 2]],
>
> [[3, 3, 3],
> [3, 3, 3]]])
>
> Slicing the complete first row:
>
> In [95]: firstrow = test[0,:,:]
>
> In [96]: firstrow
> Out[96]:
> array([[1, 1, 1],
> [1, 1, 1]])
>
I want to stack firstrow onto test to end up with:
([[[1, 1, 1],
> [1, 1, 1]],
>
> [[1, 1, 1],
> [1, 1, 1]],
>
> [[2, 2, 2],
> [2, 2, 2]],
>
> [[3, 3, 3],
> [3, 3, 3]]]
>
vstack wants the array dimensions to be the same, is this possible without
doing 1 dimensional reshape, the actual data I want to do this on is some
what larger.
numpy.vstack((firstrow,test))
> ---------------------------------------------------------------------------
> ValueError Traceback (most recent call last)
>
> /mnt/home/home/bmeagle/M/programme/analiseerverwerkteprent.py in <module>()
> ----> 1
> 2
> 3
> 4
> 5
>
> /usr/lib64/python2.6/site-packages/numpy/core/shape_base.py in vstack(tup)
> 212
> 213 """
> --> 214 return _nx.concatenate(map(atleast_2d,tup),0)
> 215
> 216 def hstack(tup):
>
> ValueError: arrays must have same number of dimensions
>
What is the correct python way to do this?
--
Dewald Pieterse
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20101027/53c7b60b/attachment.html>
More information about the NumPy-Discussion
mailing list