diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2017-12-12 11:40:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-12 11:40:55 -0700 |
commit | 22d917776b80dc7cef683fc17f4ea15b1ce98fcc (patch) | |
tree | e0c54af1bcec936d9a3cc12f5b0012d7f5a1ff0f /numpy/lib | |
parent | 0300a3d32ad70f7ce23054360852d872bacca46f (diff) | |
parent | e7d571396e92b670a0e8de6e50366ba1dbee3c6e (diff) | |
download | numpy-22d917776b80dc7cef683fc17f4ea15b1ce98fcc.tar.gz |
Merge pull request #10207 from eric-wieser/np.r_-scalars
ENH: Allow np.r_ to accept 0d arrays
Diffstat (limited to 'numpy/lib')
-rw-r--r-- | numpy/lib/index_tricks.py | 27 | ||||
-rw-r--r-- | numpy/lib/tests/test_index_tricks.py | 5 |
2 files changed, 16 insertions, 16 deletions
diff --git a/numpy/lib/index_tricks.py b/numpy/lib/index_tricks.py index 650b37f25..43fdc5627 100644 --- a/numpy/lib/index_tricks.py +++ b/numpy/lib/index_tricks.py @@ -5,7 +5,7 @@ import math import numpy.core.numeric as _nx from numpy.core.numeric import ( - asarray, ScalarType, array, alltrue, cumprod, arange + asarray, ScalarType, array, alltrue, cumprod, arange, ndim ) from numpy.core.numerictypes import find_common_type, issubdtype @@ -312,21 +312,16 @@ class AxisConcatenator(object): scalar = True scalartypes.append(newobj.dtype) else: - newobj = item - if ndmin > 1: - tempobj = array(newobj, copy=False, subok=True) - newobj = array(newobj, copy=False, subok=True, - ndmin=ndmin) - if trans1d != -1 and tempobj.ndim < ndmin: - k2 = ndmin-tempobj.ndim - if (trans1d < 0): - trans1d += k2 + 1 - defaxes = list(range(ndmin)) - k1 = trans1d - axes = defaxes[:k1] + defaxes[k2:] + \ - defaxes[k1:k2] - newobj = newobj.transpose(axes) - del tempobj + item_ndim = ndim(item) + newobj = array(item, copy=False, subok=True, ndmin=ndmin) + if trans1d != -1 and item_ndim < ndmin: + k2 = ndmin - item_ndim + k1 = trans1d + if k1 < 0: + k1 += k2 + 1 + defaxes = list(range(ndmin)) + axes = defaxes[:k1] + defaxes[k2:] + defaxes[k1:k2] + newobj = newobj.transpose(axes) objs.append(newobj) if not scalar and isinstance(newobj, _nx.ndarray): arraytypes.append(newobj.dtype) diff --git a/numpy/lib/tests/test_index_tricks.py b/numpy/lib/tests/test_index_tricks.py index 1d5efef86..b5e06dad0 100644 --- a/numpy/lib/tests/test_index_tricks.py +++ b/numpy/lib/tests/test_index_tricks.py @@ -216,6 +216,11 @@ class TestConcatenator(object): assert_equal(actual, expected) assert_equal(type(actual), type(expected)) + def test_0d(self): + assert_equal(r_[0, np.array(1), 2], [0, 1, 2]) + assert_equal(r_[[0, 1, 2], np.array(3)], [0, 1, 2, 3]) + assert_equal(r_[np.array(0), [1, 2, 3]], [0, 1, 2, 3]) + class TestNdenumerate(object): def test_basic(self): |