On Thu, Oct 9, 2008 at 2:48 PM, Neal Becker <[EMAIL PROTECTED]> wrote:
> David Huard wrote: > > > On Thu, Oct 9, 2008 at 9:40 AM, Neal Becker <[EMAIL PROTECTED]> wrote: > > > >> David Huard wrote: > >> > >> > Neal, > >> > > >> > Look at: apply_along_axis > >> > > >> > > >> I guess it'd be: > >> > >> b = empty_like(a) > >> for row in a.shape[0]: > >> b[row,:] = apply_along_axis (func, row, a) > >> > > > >> I don't suppose there is a way to do this without explicitly writing a > >> loop. > > > > > > Have you tried > > > > b = apply_along_axis(func, 1, a) > > > > It should work. > > > Yes, thanks. > > The doc for apply_along_axis is not clear. > > For one thing, it says: > The output array. The shape of outarr depends on the return value of > func1d. If it returns arrays with the same shape as the input arrays it > receives, outarr has the same shape as arr. > > What happens if the 'if' clause is not true? > The shape along the axis is determined by the result's shape of your function. def func(x): ...: return x[::2] ...: > [3]: a = random.rand(3,4) > [4]: a <[4]: array([[ 0.95979758, 0.37350614, 0.77423741, 0.62520089], [ 0.69060211, 0.91480227, 0.60105525, 0.20184552], [ 0.31540644, 0.19919848, 0.72567385, 0.63987393]]) > [5]: apply_along_axis(func, 1, a) <[5]: array([[ 0.95979758, 0.77423741], [ 0.69060211, 0.60105525], [ 0.31540644, 0.72567385]]) I've edited the docstring at http://sd-2116.dedibox.fr/pydocweb/doc/numpy.lib.shape_base.apply_along_axis/ Feel free to improve on it. David > > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@scipy.org > http://projects.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion