[Numpy-discussion] Change in behavior of np.concatenate for upcoming release

Matthew Brett matthew.brett@gmail....
Thu Sep 13 13:00:19 CDT 2012


Hi,

On Thu, Sep 13, 2012 at 11:31 AM, Matthew Brett <matthew.brett@gmail.com> wrote:
> On Wed, Sep 12, 2012 at 4:19 PM, Nathaniel Smith <njs@pobox.com> wrote:
>> On Wed, Sep 12, 2012 at 2:46 PM, Matthew Brett <matthew.brett@gmail.com> wrote:
>>> Hi,
>>>
>>> I just noticed that this works for numpy 1.6.1:
>>>
>>> In [36]: np.concatenate(([2, 3], [1]), 1)
>>> Out[36]: array([2, 3, 1])
>>>
>>> but the beta release branch:
>>>
>>> In [3]: np.concatenate(([2, 3], [1]), 1)
>>> ---------------------------------------------------------------------------
>>> IndexError                                Traceback (most recent call last)
>>> /Users/mb312/<ipython-input-3-0fa244c8aaa8> in <module>()
>>> ----> 1 np.concatenate(([2, 3], [1]), 1)
>>>
>>> IndexError: axis 1 out of bounds [0, 1)
>>>
>>> In the interests of backward compatibility maybe it would be better to
>>> raise a warning for this release, rather than an error?
>>
>> Yep, that'd be a good idea. Want to write a patch? :-)
>
> https://github.com/numpy/numpy/pull/440

Thinking about the other thread, and the 'number of elements' check, I
noticed this:

In [51]: np.__version__
Out[51]: '1.6.1'

In [52]: r4 = range(4)

In [53]: r3 = range(3)

In [54]: np.concatenate((r4, r3), None)
Out[54]: array([0, 1, 2, 3, 0, 1, 2])

but:

In [46]: np.__version__
Out[46]: '1.7.0rc1.dev-ea23de8'

In [47]: np.concatenate((r4, r3), None)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/Users/mb312/tmp/<ipython-input-47-e354b8880702> in <module>()
----> 1 np.concatenate((r4, r3), None)

ValueError: all the input arrays must have same number of elements

The change requiring the same number of elements appears to have been
added explicitly by Mark in commit 9194b3af  .  Mark - what was the
reason for that check?

Best,

Matthew


More information about the NumPy-Discussion mailing list