[Numpy-discussion] Proposal of new function: iteraxis()
Thu Apr 25 12:42:11 CDT 2013
On Thu, Apr 25, 2013 at 6:30 PM, Matthew Brett <firstname.lastname@example.org> wrote:
> On Thu, Apr 25, 2013 at 10:14 AM, Robert Kern <email@example.com> wrote:
>> On Wed, Apr 24, 2013 at 10:37 PM, andrew giessel
>> <firstname.lastname@example.org> wrote:
>>> Hello all-
>>> A while back I emailed the list about function for the numpy namespace,
>>> iteraxis(), which allows you to generalize the default iteration behavior of
>>> numpy arrays over any axis.
>>> I've implemented this function more cleanly and the pull request is here:
>>> https://github.com/numpy/numpy/pull/3262, and includes passing tests and
>>> This is very simple code, which uses np.rollaxis() to bring the desired
>>> dimension to the front, and then allows you to loop over slices in this
>>> re-structured view of the array. While little more than an alias, I feel
>>> this is a very useful function because looping over iterators is a core
>>> pattern in python, and makes working with slices of any multidimensional
>>> array very pythonic. Adding this function makes this more visible for
>>> users, new and old, and I hope members of this list will agree it is worth
>>> adding to the namespace.
>> I'm afraid I don't. It's a just a reduced-functionality version of
>> rollaxis(). I don't think the additional name adds anything
> There's a little more on this in the pull request discussion for those
> of y'all that are interested.
> So the decision has to be based on some estimate of:
> 1) Cost for adding a new function to the namespace
> 2) Benefit : some combination of: Likelihood of needing to iterate
> over arbitrary axis. Likelihood of not finding rollaxis / transpose as
> a solution to this. Increased likelihood of finding iteraxis in this
3) Comparison with other solutions that might obtain the same benefits
without the attendant costs: i.e. additional documentation in any
number of forms.
More information about the NumPy-Discussion