David Huard wrote: > Hi, > > Is there an elegant way to reduce an array but conserve the reduced > dimension ? > > Currently, > >>> a = random.random((10,10,10)) > >>> a.sum(1).shape > (10,10) > > but i'd like to keep (10,1,10) so I can do a/a.sum(1) directly.
def nonreducing_reducer(reducing_func, arr, axis): reduced = reducing_func(arr, axis=axis) shape = list(reduced.shape) axis = axis % len(arr.shape) shape.insert(axis, 1) reduced.shape = tuple(shape) return reduced I think. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion