[Numpy-discussion] dtype=object behavior change from 0.9.6 to beta 1
Charles R Harris
charlesr.harris at gmail.com
Thu Aug 31 11:24:35 CDT 2006
On 8/31/06, Tom Denniston <tom.denniston at alum.dartmouth.org> wrote:
>
> For this simple example yes, but if one of the nice things about the array
> constructors is that they know that lists, tuple and arrays are just
> sequences and any combination of them is valid numpy input. So for instance
> a list of tuples yields a 2d array. A list of tuples of 1d arrays yields a
> 3d array. A list of 1d arrays yields 2d array. This was the case
> consistently across all dtypes. Now it is the case across all of them
> except for the dtype=object which has this unusual behavior. I agree that
> vstack is a better choice when you know you have a list of arrays but it is
> less useful when you don't know and you can't force a type in the vstack
> function so there is no longer an equivalent to the dtype=object behavior:
>
> In [7]: numpy.array([numpy.array([1,2,3]), numpy.array([4,5,6])],
> dtype=object)
> Out[7]:
> array([[1, 2, 3],
> [4, 5, 6]], dtype=object)
>
What are you trying to do? If you want integers:
In [32]: a = array([array([1,2,3]), array([4,5,6])], dtype=int)
In [33]: a.shape
Out[33]: (2, 3)
If you want objects, you have them:
In [30]: a = array([array([1,2,3]), array([4,5,6])], dtype=object)
In [31]: a.shape
Out[31]: (2,)
i.e, a is an array containing two array objects.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20060831/0986cd15/attachment.html
More information about the Numpy-discussion
mailing list