[SciPy-user] Slicing arrays

Alok Singhal as8ca@virginia....
Mon Dec 10 14:57:07 CST 2007


On 10/12/07: 19:43, Nils Wagner wrote:
> Hi all,
> 
> I have an array
> 
> >>> a
> array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 
> 13, 14, 15, 16,
>         17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 
> 29, 30, 31, 32, 33,
>         34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 
> 46, 47, 48, 49, 50,
>         51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 
> 63, 64, 65])
> 
> How can I extract an array b from a such that
> 
> >>> b
> array([ 0,  1,  2,  6,  7,  8, 12, 13, 14, 18, 19, 20, 24, 
> 25, 26, 30, 31,
>         32, 36, 37, 38, 42, 43, 44, 48, 49, 50, 54, 55, 
> 56, 60, 61, 62])

I can do it by:

b = a.copy()
b.shape = (-1,6)
b = b[:,0:3].copy()
b.shape = (1, -1)
b = b.squeeze()

Maybe there is a more efficient method, but this seems to work.

-Alok

-- 
Alok Singhal (as8ca@virginia.edu)          *   *          
Graduate Student, dept. of Astronomy   *           *     *
University of Virginia                                    
http://www.astro.virginia.edu/~as8ca/              *    * 


More information about the SciPy-user mailing list