diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2013-08-02 14:36:39 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2013-08-02 14:36:39 -0600 |
commit | 645b9f572f0a22e9049fd736b8b91427be2c8402 (patch) | |
tree | a2a043f988f655b5fa3e8093c6420897c1c554d1 /numpy/lib/function_base.py | |
parent | 196398fadb7fe402a67ccea0bc1546b36d066440 (diff) | |
parent | ea768739dab69c0b67488179ffa67d57d63d59f8 (diff) | |
download | numpy-645b9f572f0a22e9049fd736b8b91427be2c8402.tar.gz |
Merge pull request 'gh-3497'
* gh-3497:
BUG: Make np.insert check for out of bounds axis arguments.
TST: add test for negative axis values in np.insert.
BUG: Fix bug in np.insert when axis=-1
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r-- | numpy/lib/function_base.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index 5e433d3ab..17f99a065 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -3696,6 +3696,11 @@ def insert(arr, obj, values, axis=None): arr = arr.ravel() ndim = arr.ndim axis = ndim-1 + else: + if ndim > 0 and (axis < -ndim or axis >= ndim): + raise IndexError("axis %i is out of bounds for an array " + "of dimension %i" % (axis, ndim)) + if (axis < 0): axis += ndim if (ndim == 0): warnings.warn("in the future the special handling of scalars " "will be removed from insert and raise an error", @@ -3742,7 +3747,7 @@ def insert(arr, obj, values, axis=None): # broadcasting is very different here, since a[:,0,:] = ... behaves # very different from a[:,[0],:] = ...! This changes values so that # it works likes the second case. (here a[:,0:1,:]) - values = np.rollaxis(values, 0, axis+1) + values = np.rollaxis(values, 0, axis + 1) numnew = values.shape[axis] newshape[axis] += numnew new = empty(newshape, arr.dtype, arr.flags.fnc) |