On 12/02/2008, Matthew Brett <[EMAIL PROTECTED]> wrote: > Is it possible, in fact, to do an inplace sort on an array with > axis=None (ie flat sort)?
It is, sometimes; just make an array object to point to the flattened version and sort that: In [16]: b = a[:] In [17]: b.shape = (16,) In [18]: b.sort() This is not always possible, depending on the arrangement of a in memory. An efficient way to handle in-place (or out-of-place, come to think of it) median along multiple axes is actually to take medians along all axes in succession. That saves you some sorting effort, and some programming effort, and doesn't require in-place multidimensional sorting: In [24]: def all_axes_median(a): ....: if len(a.shape)>1: ....: return all_axes_median(N.median(a)) ....: else: ....: return N.median(a) ....: ....: In [26]: all_axes_median(N.reshape(N.arange(32),(2,4,2,-1))) Out[26]: 15.5 Anne _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion