Dimension reduction

Robert Kern robert.kern at gmail.com
Thu Oct 19 11:39:36 CDT 2006

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

More information about the Numpy-discussion mailing list