Hi Kurdt, On 9/17/07, Kurdt Bane <[EMAIL PROTECTED]> wrote: > > Hi to all, > > I've got an 1-D array of bools and I'd like to find the length of the > first contiguous sequence of True values, starting from position [0] of the > array. > (That's equivalent to find the position of the first occurrence of False > in the array). > The problem is trivial, but I was wondering: what's the best (fastest, > cleanest, most pythonesque) way to do it in numpy? And what if I want to get > a list of all the contiguous sequences of True values, above a given > threshold?
You can find the start of all runs after the first by In [1]: a = array([1,1,1,0,1,1,0,0,1], dtype=bool) In [2]: s = arange(1,len(a))[a[0:-1] ^ a[1:]] In [3]: s Out[3]: array([3, 4, 6, 8]) i.e. The first run is a[0:3], the second a[3:4], etc., and the runs alternate between true and false. Chuck
_______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
