On Thu, Aug 6, 2009 at 8:55 AM, <josef.p...@gmail.com> wrote: > What's the best way of getting back the correct shape to be able to > broadcast, mean, min,.. to the original array, that works for > arbitrary dimension and axis? > > I thought I have seen some helper functions, but I don't find them anymore? > > Josef > >>>> a > array([[1, 2, 3, 3, 0], > [2, 2, 3, 2, 1]]) >>>> a-a.max(0) > array([[-1, 0, 0, 0, -1], > [ 0, 0, 0, -1, 0]]) >>>> a-a.max(1) > Traceback (most recent call last): > File "<pyshell#135>", line 1, in <module> > a-a.max(1) > ValueError: shape mismatch: objects cannot be broadcast to a single shape >>>> a-a.max(1)[:,None] > array([[-2, -1, 0, 0, -3], > [-1, -1, 0, -1, -2]])
Would this do it? >> pylab.demean?? Type: function Base Class: <type 'function'> String Form: <function demean at 0x3c5c050> Namespace: Interactive File: /usr/lib/python2.6/dist-packages/matplotlib/mlab.py Definition: pylab.demean(x, axis=0) Source: def demean(x, axis=0): "Return x minus its mean along the specified axis" x = np.asarray(x) if axis: ind = [slice(None)] * axis ind.append(np.newaxis) return x - x.mean(axis)[ind] return x - x.mean(axis) _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion