[Numpy-discussion] Problem with concatenate and object arrays

Travis Oliphant oliphant.travis at ieee.org
Tue Sep 5 12:44:41 EDT 2006


Matthew Brett wrote:
> Hi,
>
>   
>> This is a result of PyArray_FromAny changing when object arrays are
>> explicitly requested (which they are in this case --- although behind
>> the scenes).
>>     
>
> Hmm - I think I am hitting a related bug/feature/surprising change in
> behavior, which is showing up rather obscurely in a failure of the
> scipy.io matlab loading tests:
>
> http://projects.scipy.org/scipy/scipy/ticket/258
>
> Here's the change I wasn't expecting, present with current SVN:
>
> a = arange(2)
> b = arange(1)
> c = array([a, b], dtype=object)
> c
> ->
> array([[0, 1],
>        [0, 0]], dtype=object)
>
> On a previous version of numpy (1.02b.dev2975) I get the answer I was expecting:
>
> array([[0], [0 1]], dtype=object)
>   

Grrr..    Object arrays are very hard to get right.  I have no idea why 
this is happening, but I'll look into it.   I think it's the bug that 
led me to put in the special-case object-array handling in the first 
place.   Now, that special-case object-array handling is only done on an 
error condition, I need to fix this right and raise an inconsistent 
shape error.  It will probably help with the TypeError messages that are 
currently raised in this situation with other types as well.

-Travis





More information about the NumPy-Discussion mailing list