[Numpy-discussion] Axis Iterator?

Tim Hochberg tim.hochberg at ieee.org
Thu Sep 14 20:20:08 CDT 2006

Bill Baxter wrote:
> Iteration over axis 0 is built-in, so you can already do
>     (vectorFunc(row) for row in array)
> And you can use transpose() to make it so the axis you want to iterate
> over is axis 0.
>     (vectorFunc(col) for col in array.transpose(1,0))
> Or just use the .T attribute
>     (vectorFunc(col) for col in array.T)
> So it seems kind of a toss-up whether it's worth adding a specific API
> to do that.  The implementation would probably just return the
> transpose with the given axis in the zero slot.   Something like:
> def axisiter(arr, i):
>     ax = [i] + range(arr.ndim)
>     del ax[i+1]
>     return arr.transpose(ax)
> --bb
Isn't swapaxis appropriate for this? In other words:

for x in arr.swapaxis(0, i):

should be more or less the same as:

for x in axister(arr, i):

and it already exists. I'm in a hurry, so I haven't checked the details 
here, but the basic idea seems sound.


> On 9/15/06, Brendan Simons <brendansimons at yahoo.ca> wrote:
>> Hi all,
>> Just wondering if there was an arbitrary axis iterator in numpy, or
>> if not, if there's demand for one.  What I'm looking for is something
>> which would allow me to do  something like (vectorFunc(column) for
>> column in array.axisIter(1) )  without a bunch of for loops and slicing.
>> Thoughts?
>>     Brendan
> -------------------------------------------------------------------------
> 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
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion

More information about the Numpy-discussion mailing list