import numpy as np
import dascore as dc
patch = dc.get_example_patch()
# Calculate mean along time axis
patch_time = patch.aggregate("time", method=np.nanmean)
# Calculate median distance along distance dimension
patch_dist = patch.aggregate("distance", method=np.nanmedian)
# Calculate the mean, and remove the associated dimension
patch_mean_no_dim = patch.aggregate(
"time", method="mean", dim_reduce="squeeze"
)
# Aggregate by the min value and keep the mean of the dimension
patch_mean_min = patch.aggregate(
"distance", method="min", dim_reduce="mean",
)aggregate
aggregate(
patch: Patch ,
dim: str | collections.abc.Sequence[str, collections.abc.Sequence[str], None] = None,
method: str | collections.abc.Callable[str, Callable] = mean,
dim_reduce: str | collections.abc.Callable[str, Callable] = empty,
)-> ‘PatchType’
Aggregate values along a specified dimension.
Parameters
| Parameter | Description |
|---|---|
| patch | The input Patch. |
| dim |
The dimension along which aggregations are to be performed. If None, apply aggregation to all dimensions sequentially. If a sequence, apply sequentially in order provided. |
| dim_reduce |
How to reduce the dimensional coordinate associated with the aggregated axis. Can be the name of any valid aggregator, a callable, “empty” (the default) which returns a length 1 partial coord, or “squeeze” which drops the coordinate. For dimensions with datetime or timedelta datatypes, if the operation fails it will automatically be applied to the coordinates converted to floats then the output converted back to the appropriate time type. |
| method |
The aggregation to apply along dimension. Options are: first last max mean median min std sum |
See Also
- See also the aggregation shortcut methods in the aggregate module.