Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I am working with PDL's for a project and have a question involving ranges of consecutive values, and generating a piddle based on the indexes there.
I have a PDL with 3 rows which correlate with each other. The first row is my values, the second is the time at which those values took place, and the third is a mask of 0's and 1's. For the purposes of what I'm doing, we can ignore the GMT row.
Here's a visual of what I'm working with:As you can see, each pdl has 12 elements. What I need to do is take and create a new PDL of the elements in $value that have consecutive 0's in $mask. I also need to preserve their indexes within $values. As an example using the above, the output I desire is a piddle like this:$value = [1, 20, 60, 3, 900, 34, 93, 5, 12, 24, 16, 200] $mask = [ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1 ]
(Where the above is a pdl with 2 pdls inside)$a1 = [ [60,30,900] #from $values [2,3,4] #their original indexes ] and $a2 = [ [5,12,24] [7,8,9] ]
These would be generated from the consecutive 0's which occur in the mask.
I hope that my wording is clear and illustrates my point properly. Any and all help on this would be appreciated, as there may be some PDL function that I am unaware of that would aid me here.
Thanks
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Working with PDL, need index range of consecutive values
by plobsing (Friar) on Feb 21, 2009 at 04:45 UTC | |
by Anonymous Monk on Feb 21, 2009 at 23:58 UTC | |
by Anonymous Monk on Feb 27, 2009 at 22:43 UTC |