[SciPy-user] Slicing arrays
Karl Young
Karl.Young at ucsf.edu
Mon Dec 10 14:59:22 EST 2007
If you don't care about elegance or efficiency how about:
--------------------------------------------------------------------------------------------------
import scipy
a = scipy.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])
runs = 8
space = 4
b = scipy.array(a[1:runs+1])
for i in range(1,(len(a)/runs)-1):
b = scipy.concatenate((b,a[b[-1]+space:b[-1]+runs+space+1]),axis=1)
-------------------------------------------------------------------------------------------------
PS If you really meant to cut off the last three elements of a, i'll
leave that step to you...
>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
>
>
>
--
Karl Young
Center for Imaging of Neurodegenerative Diseases, UCSF
VA Medical Center (114M) Phone: (415) 221-4810 x3114 lab
4150 Clement Street FAX: (415) 668-2864
San Francisco, CA 94121 Email: karl young at ucsf edu
More information about the SciPy-User
mailing list