quantile
- UnitsAwareDataArray.quantile(q: ArrayLike, dim: Dims = None, *, method: QuantileMethods = 'linear', keep_attrs: bool | None = None, skipna: bool | None = None, interpolation: QuantileMethods | None = None) Self
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 of float) – Quantile to compute, which must be between 0 and 1 inclusive.
dim (str or Iterable 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. The “method” argument was previously called “interpolation”, renamed in accordance with numpy version 1.22.0.keep_attrs (bool or None, 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 or None, optional) – If True, skip missing values (as marked by NaN). By default, only skips missing values for float dtypes; other dtypes either do not have a sentinel missing value (int) or skipna=True has not been implemented (object, datetime64 or timedelta64).
- Returns:
quantiles – 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.
- Return type:
DataArray
See also
numpy.nanquantile
,numpy.quantile
,pandas.Series.quantile
,Dataset.quantile
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 ()> Size: 8B array(0.7) Coordinates: quantile float64 8B 0.0 >>> da.quantile(0, dim="x") <xarray.DataArray (y: 4)> Size: 32B array([0.7, 4.2, 2.6, 1.5]) Coordinates: * y (y) float64 32B 1.0 1.5 2.0 2.5 quantile float64 8B 0.0 >>> da.quantile([0, 0.5, 1]) <xarray.DataArray (quantile: 3)> Size: 24B array([0.7, 3.4, 9.4]) Coordinates: * quantile (quantile) float64 24B 0.0 0.5 1.0 >>> da.quantile([0, 0.5, 1], dim="x") <xarray.DataArray (quantile: 3, y: 4)> Size: 96B 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 32B 1.0 1.5 2.0 2.5 * quantile (quantile) float64 24B 0.0 0.5 1.0
References