2008/4/30 Christopher Barker <[EMAIL PROTECTED]>: > a g wrote: > > OK: how do i iterate over an axis other than 0? > > This ties in nicely with some of the discussion about interating over > matrices. It ahs been suggested that it would be nice to have iterators > for matrices, so you could do: > > for row in M.rows: > ... > > and > > for column in M.cols: > ... > > > If so, then wouldn't it make sense to have built in iterators for > nd-arrays as well? something like: > > for subarray in A.iter(axis=i): > ... > > where axis would default to 0. > > This is certainly cleaner than: > > for j in range(A.shape[i]): > subarray = A[:,:,j,:] > > Wait! I have no idea how to spell that generically -- i.e. the ith > index, where i is a variable. There must be a way to build a slice > object dynamically, but I don't know it.
Slices can be built without too much trouble using slice(), but it's much easier to just write for subarray in np.rollaxis(A,i): ... rollaxis() just pulls the specified axis to the front. (It doesn't do what I thought it would, which is a cyclic permutation of the axes). Anne _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion