[Numpy-discussion] indexing of arbitrary axis and arbitrary slice?

Chao YUE chaoyuejoy at gmail.com
Mon Mar 18 05:25:41 EDT 2013


Hi Nathaniel,

thanks for your reply, it works fine and suffice for my purpose.

cheers,

Chao

On Sat, Mar 16, 2013 at 5:49 PM, Nathaniel Smith <njs at pobox.com> wrote:

> On 16 Mar 2013 16:41, "Chao YUE" <chaoyuejoy at gmail.com> wrote:
> >
> > Dear all,
> >
> > Is there some way to index the numpy array by specifying arbitrary axis
> and arbitrary slice, while
> > not knowing the actual shape of the data?
> > For example, I have a 3-dim data, data.shape = (3,4,5)
> > Is there a way to retrieve data[:,0,:] by using something like
> np.retrieve_data(data,axis=2,slice=0),
> > by this way you don't have to know the actual shape of the array.
> > for for 4-dim data, np.retrieve_data(data,axis=2,slice=0) will actually
> be data[:,0,:,:]
>
> I don't know of anything quite like that, but it's easy to fake it:
>
> def retrieve_data(a, ax, idx):
>     full_idx = [slice(None)] * a.ndim
>     full_idx[ax] = idx
>     return a[tuple(full_idx)]
>
> Or for the specific case where you do know the axis in advance, you just
> don't know how many trailing axes there are, use
>     a[:, :, 0, ...]
> and the ... will expand to represent the appropriate number of :'s.
>
> -n
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>


-- 
***********************************************************************************
Chao YUE
Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
UMR 1572 CEA-CNRS-UVSQ
Batiment 712 - Pe 119
91191 GIF Sur YVETTE Cedex
Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
************************************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130318/f82cfb83/attachment.html>


More information about the NumPy-Discussion mailing list