[Numpy-discussion] Proposal of new function: iteraxis()

josef.pktd at gmail.com josef.pktd at gmail.com
Thu Apr 25 15:51:16 EDT 2013


On Thu, Apr 25, 2013 at 3:40 PM, Robert Kern <robert.kern at gmail.com> wrote:
> On Thu, Apr 25, 2013 at 8:21 PM, Andrew Giessel
> <andrew_giessel at hms.harvard.edu> wrote:
>> I respect this opinion.  However (and maybe this is legacy), while reading
>> through the numeric.py source file, I was surprised at how short many of the
>> functions are, generally.  Functions like ones() and zeros() are pretty
>> simple wrappers which call empty() and then copy over values.
>
> Many of these are short, but they do tend to do at least two things
> that someone would otherwise have to do. This really isn't the case
> for iteraxis() and rollaxis(). One can use rollaxis() pretty much
> everywhere you would use iteraxis(), but not vice-versa.
>
>> FWIW, I had used numpy for over two years before realizing that the default
>> behavior of iterating on a numpy array was to return slices over the first
>> axis (although, this makes sense because it makes a 1d array like a list),
>> and I think it is generally left out of any tutorials or guides.

That definitely sounds like a documentation problem.
I'm using often that it's a python iterator in the first dimension,
and can be used with *args and tuple unpacking.
(I didn't need it with anything else than axis=0 or axis=-1 for matplotlib IIRC)

I never used rollaxis, but I have seen it a lot when I was still
reading the nipy source.

In general, I think that there are already too many aliases in numpy,
or function whether it's not really clear if they are aliases or
something slightly different.

It took me more than a year to remember what `expand_dims` is called,
(I always tried, add_axis) until I bookmarked it for a while.

Josef

>
> Then let's add it.
>
> --
> Robert Kern
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion



More information about the NumPy-Discussion mailing list