I was using "reduce" in an abstract sense. I put in a 4D array in, get a 1-3D array out, depending on some other parameters (not strictly just by reduction, although that is the net effect). The placement of the dimensions is irrelevant, I just need to make the output 4D again for further calculations. Since I can have cases where the output is of different number of dims, I wrote this function as a handy tool to avoid conditionals.
I realize that this is not a common use-case, but it seemed like a thing someone else might find useful one day. -Joe On Wed, Jul 6, 2016 at 12:35 PM, Nathaniel Smith <n...@pobox.com> wrote: > On Jul 6, 2016 6:12 AM, "Joseph Fox-Rabinovitz" <jfoxrabinov...@gmail.com> > wrote: >> >> I can add a keyword-only argument that lets you put the new dims >> before or after the existing ones. I am not sure how to specify >> arbitrary patterns for the new dimensions, but that should take care >> of most use cases. >> >> The use case that motivated this function in the first place is that I >> am doing some processing on 4D arrays and I need to reduce them but >> return a result with the original dimensionality (but not shape). >> atleast_nd seemed like a better solution than atleast_4d. > > This is a tangent that might not apply given the details of your code, but > isn't this what keepdims is for? (And keepdims has the huge advantage that > it knows which axes are being reduced and thus where to put the new axes.) > > I guess even if I couldn't use keepdims for some reason, my inclination > would be to try to emulate it by fixing up the axes as I went, because I'd > find it easier to verify that I hadn't accidentally misaligned things if the > reductions and fix-ups were local to each other, and explicit axis > insertions are much easier than trying to remember whether atleast_nd > prepends or appends. This of course is all based on some vague guess at what > your code actually looks like though... > > -n > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion