import numpy as np
import dascore as dc
from dascore.examples import get_example_patch
= get_example_patch()
patch # select meters 50 to 300
= patch.select(distance=(50, 300))
new_distance # select channels less than 300
= patch.select(distance=(..., 300))
lt_dist # select time (1 second from start to -1 second from end)
= patch.attrs.time_min + dc.to_timedelta64(1)
t1 = patch.attrs.time_max - dc.to_timedelta64(1)
t2 = patch.select(time=(t1, t2))
new_time1 # this can be accomplished more simply using the relative keyword
= patch.select(time=(1, -1), relative=True)
new_time2 # filter 1 second from start time to 3 seconds from start time
= patch.select(time=(1, 3), relative=True)
new_time3 # filter 6 second from end time to 1 second from end time
= patch.select(time=(-6, -1), relative=True) new_time4
select
select(
patch: Patch ,
copy = False,
relative = False,
**kwargs ,
)-> ‘PatchType’
Return a subset of the patch using value-based query parameters.
Any dimension of the data can be passed as key, and the values should either be a Slice or a tuple of (min, max) for that dimension. None and … both indicate open intervals.
The time dimension is handled specially in that either floats, datetime64 or datetime objects can be used to specify relative or absolute times, respectively.
Parameters
Parameter | Description |
---|---|
patch | The patch object. |
copy | If True, copy the resulting data. This is needed so the old array can get gc’ed and memory freed. |
relative | If True, select ranges are relative to the start of coordinate, if possitive, or the end of the coordinate, if negative. |
**kwargs | Used to specify the dimension and slices to select on. |
See also iselect. |