cumulative_integrate
- UnitsAwareDataArray.cumulative_integrate(coord: Hashable | Sequence[Hashable] = None, datetime_unit: DatetimeUnitOptions = None) Self
Integrate cumulatively along the given coordinate using the trapezoidal rule.
Note
This feature is limited to simple cartesian geometry, i.e. coord must be one dimensional.
The first entry of the cumulative integral is always 0, in order to keep the length of the dimension unchanged between input and output.
- Parameters:
coord (Hashable, or sequence of Hashable) – Coordinate(s) used for the integration.
datetime_unit ({'Y', 'M', 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns', 'ps', 'fs', 'as', None}, optional) – Specify the unit if a datetime coordinate is used.
- Returns:
integrated
- Return type:
DataArray
See also
Dataset.cumulative_integrate
scipy.integrate.cumulative_trapezoid
corresponding scipy function
Examples
>>> da = xr.DataArray( ... np.arange(12).reshape(4, 3), ... dims=["x", "y"], ... coords={"x": [0, 0.1, 1.1, 1.2]}, ... ) >>> da <xarray.DataArray (x: 4, y: 3)> Size: 96B array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Coordinates: * x (x) float64 32B 0.0 0.1 1.1 1.2 Dimensions without coordinates: y >>> >>> da.cumulative_integrate("x") <xarray.DataArray (x: 4, y: 3)> Size: 96B array([[0. , 0. , 0. ], [0.15, 0.25, 0.35], [4.65, 5.75, 6.85], [5.4 , 6.6 , 7.8 ]]) Coordinates: * x (x) float64 32B 0.0 0.1 1.1 1.2 Dimensions without coordinates: y