[SciPy-user] Slicing arrays
Robert Kern
robert.kern at gmail.com
Mon Dec 10 14:58:25 EST 2007
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])
In [1]: from numpy import *
In [2]: a = arange(66)
In [3]: b = reshape(a, (-1, 6))[:,:3].ravel()
In [4]: b
Out[4]:
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])
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list