Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Numpy slice of arbitrary dimensions

Tags:

python

numpy

I would like to slice a numpy array to obtain the i-th index in the last dimension. For a 3D array, this would be:

slice = myarray[:,:,i] 

But I am writing a function where I can take an array of arbitrary dimensions, so for a 4D array I'd need myarray[:,:,:,i], and so on. Is there a way I can obtain this slice for any array without explicitly having to write the array dimensions?

like image 915
tiago Avatar asked Aug 24 '12 21:08

tiago


1 Answers

There is ... or Ellipsis, which does exactly this:

slice = myarray[..., i] 

Ellipsis is the python object, if you should want to use it outside the square bracket notation.

like image 92
seberg Avatar answered Sep 20 '22 18:09

seberg