xarray.DataArray.quantile
xarray.DataArray.quantile¶
-
DataArray.
quantile
(q, dim=None, method='linear', keep_attrs=None, skipna=True, interpolation=None)[source]¶ Compute the qth quantile of the data along the specified dimension.
Returns the qth quantiles(s) of the array elements.
- Parameters
q (
float
or array-like offloat
) – Quantile to compute, which must be between 0 and 1 inclusive.dim (hashable or sequence of hashable, optional) – Dimension(s) over which to apply quantile.
method (
str
, default:"linear"
) – This optional parameter specifies the interpolation method to use when the desired quantile lies between two data points. The options sorted by their R type as summarized in the H&F paper 1 are:“inverted_cdf” (*)
“averaged_inverted_cdf” (*)
“closest_observation” (*)
“interpolated_inverted_cdf” (*)
“hazen” (*)
“weibull” (*)
“linear” (default)
“median_unbiased” (*)
“normal_unbiased” (*)
The first three methods are discontiuous. The following discontinuous variations of the default “linear” (7.) option are also available:
“lower”
“higher”
“midpoint”
“nearest”
See
numpy.quantile()
or 1 for details. Methods marked with an asterix require numpy version 1.22 or newer. The “method” argument was previously called “interpolation”, renamed in accordance with numpy version 1.22.0.keep_attrs (
bool
, optional) – If True, the dataset’s attributes (attrs) will be copied from the original object to the new one. If False (default), the new object will be returned without attributes.skipna (
bool
, optional) – Whether to skip missing values when aggregating.
- Returns
quantiles (
DataArray
) – If q is a single quantile, then the result is a scalar. If multiple percentiles are given, first axis of the result corresponds to the quantile and a quantile dimension is added to the return array. The other dimensions are the dimensions that remain after the reduction of the array.
Examples
>>> da = xr.DataArray( ... data=[[0.7, 4.2, 9.4, 1.5], [6.5, 7.3, 2.6, 1.9]], ... coords={"x": [7, 9], "y": [1, 1.5, 2, 2.5]}, ... dims=("x", "y"), ... ) >>> da.quantile(0) # or da.quantile(0, dim=...) <xarray.DataArray ()> array(0.7) Coordinates: quantile float64 0.0 >>> da.quantile(0, dim="x") <xarray.DataArray (y: 4)> array([0.7, 4.2, 2.6, 1.5]) Coordinates: * y (y) float64 1.0 1.5 2.0 2.5 quantile float64 0.0 >>> da.quantile([0, 0.5, 1]) <xarray.DataArray (quantile: 3)> array([0.7, 3.4, 9.4]) Coordinates: * quantile (quantile) float64 0.0 0.5 1.0 >>> da.quantile([0, 0.5, 1], dim="x") <xarray.DataArray (quantile: 3, y: 4)> array([[0.7 , 4.2 , 2.6 , 1.5 ], [3.6 , 5.75, 6. , 1.7 ], [6.5 , 7.3 , 9.4 , 1.9 ]]) Coordinates: * y (y) float64 1.0 1.5 2.0 2.5 * quantile (quantile) float64 0.0 0.5 1.0
References