summaryrefslogtreecommitdiff
path: root/numpy/lib/shape_base.py
diff options
context:
space:
mode:
authorJulian Taylor <juliantaylor108@gmail.com>2014-06-08 16:29:06 +0200
committerJulian Taylor <juliantaylor108@gmail.com>2014-06-08 16:29:06 +0200
commit10098daf387b9468a0aee19c3eb3e0cdd21f874c (patch)
tree48a425fa7eb4fcfb41f1884bf20f29cc50014317 /numpy/lib/shape_base.py
parentc346477b89a7ce559a9cf40551d9725be5c96f09 (diff)
parent7f8aae032a218ed609e23068d5aec128b0d6fe8e (diff)
downloadnumpy-10098daf387b9468a0aee19c3eb3e0cdd21f874c.tar.gz
Merge pull request #4454 from jurnix/namedargs
ENH: apply_along_axis accepts named arguments
Diffstat (limited to 'numpy/lib/shape_base.py')
-rw-r--r--numpy/lib/shape_base.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/numpy/lib/shape_base.py b/numpy/lib/shape_base.py
index 43e98ae3d..a6d391728 100644
--- a/numpy/lib/shape_base.py
+++ b/numpy/lib/shape_base.py
@@ -12,7 +12,7 @@ from numpy.core.numeric import asarray, zeros, newaxis, outer, \
from numpy.core.fromnumeric import product, reshape
from numpy.core import hstack, vstack, atleast_3d
-def apply_along_axis(func1d,axis,arr,*args):
+def apply_along_axis(func1d, axis, arr, *args, **kwargs):
"""
Apply a function to 1-D slices along the given axis.
@@ -30,6 +30,11 @@ def apply_along_axis(func1d,axis,arr,*args):
Input array.
args : any
Additional arguments to `func1d`.
+ kwargs: any
+ Additional named arguments to `func1d`.
+
+ .. versionadded:: 1.9.0
+
Returns
-------
@@ -78,7 +83,7 @@ def apply_along_axis(func1d,axis,arr,*args):
i[axis] = slice(None, None)
outshape = asarray(arr.shape).take(indlist)
i.put(indlist, ind)
- res = func1d(arr[tuple(i.tolist())],*args)
+ res = func1d(arr[tuple(i.tolist())], *args, **kwargs)
# if res is a number, then we have a smaller output array
if isscalar(res):
outarr = zeros(outshape, asarray(res).dtype)
@@ -94,7 +99,7 @@ def apply_along_axis(func1d,axis,arr,*args):
ind[n] = 0
n -= 1
i.put(indlist, ind)
- res = func1d(arr[tuple(i.tolist())],*args)
+ res = func1d(arr[tuple(i.tolist())], *args, **kwargs)
outarr[tuple(ind)] = res
k += 1
return outarr
@@ -115,7 +120,7 @@ def apply_along_axis(func1d,axis,arr,*args):
ind[n] = 0
n -= 1
i.put(indlist, ind)
- res = func1d(arr[tuple(i.tolist())],*args)
+ res = func1d(arr[tuple(i.tolist())], *args, **kwargs)
outarr[tuple(i.tolist())] = res
k += 1
return outarr