[Numpy-discussion] Operation over multiple axes? (Or: Partial flattening?)
Stéfan van der Walt
stefan@sun.ac...
Tue Jul 29 14:47:52 CDT 2008
2008/7/29 Hans Meine <meine@informatik.uni-hamburg.de>:
> On Dienstag 29 Juli 2008, Stéfan van der Walt wrote:
>> > One way to achieve this is partial flattening, which I did like this:
>> >
>> > dat.reshape((numpy.prod(dat.shape[:3]), dat.shape[3])).sum(0)
>> >
>> > Is there a more elegant way to do this?
>>
>> That looks like a good way to do it. You can clean it up ever so slightly:
>>
>> x.reshape([-1, x.shape[-1]]).sum(axis=0)
>
> Thanks, that looks more elegant indeed. I am not sure if I've read about -1
> in shapes before. I assume it represents "the automatically determined rest"
> and may only appear once? Should this be documented in the reshape
> docstring?
That's correct, and yes -- it should! Would you like to document it
yourself? If you register on
http://sd-2116.dedibox.fr/pydocweb
I'll give you editor's access.
Regards
Stéfan
More information about the Numpy-discussion
mailing list