[SciPy-user] Slicing arrays

Tom Denniston tom.denniston at alum.dartmouth.org
Mon Dec 10 15:49:12 EST 2007


Something like this should work:

In [8]: a1 = numpy.ones(100)

In [9]: a1[::3]=3

In [11]: numpy.cumsum(a1)-2

array([   1.,    2.,    3.,    6.,    7.,    8.,   11.,   12.,   13.,
         16.,   17.,   18.,   21.,   22.,   23.,   26.,   27.,   28.,
         31.,   32.,   33.,   36.,   37.,   38.,   41.,   42.,   43.,
         46.,   47.,   48.,   51.,   52.,   53.,   56.,   57.,   58.,
         61.,   62.,   63.,   66.,   67.,   68.,   71.,   72.,   73.,
         76.,   77.,   78.,   81.,   82.,   83.,   86.,   87.,   88.,
         91.,   92.,   93.,   96.,   97.,   98.,  101.,  102.,  103.,
        106.,  107.,  108.,  111.,  112.,  113.,  116.,  117.,  118.,
        121.,  122.,  123.,  126.,  127.,  128.,  131.,  132.,  133.,
        136.,  137.,  138.,  141.,  142.,  143.,  146.,  147.,  148.,
        151.,  152.,  153.,  156.,  157.,  158.,  161.,  162.,  163.,  166.])


On 12/10/07, Nils Wagner <nwagner at iam.uni-stuttgart.de> 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])
>
> Nils
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>



More information about the SciPy-User mailing list