# xarray.Variable.quantile

#### Variable.quantile(q, dim=None, method='linear', keep_attrs=None, skipna=None, interpolation=None)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/variable.py#L2166-L2308)

Compute the qth quantile of the data along the specified dimension.

Returns the qth quantiles(s) of the array elements.

* **Parameters:**
  * **q** ([`float`](https://docs.python.org/3/builtins/functions.html#float) or [sequence](https://docs.python.org/3/glossary.html#term-sequence) of [`float`](https://docs.python.org/3/builtins/functions.html#float)) – Quantile to compute, which must be between 0 and 1
    inclusive.
  * **dim** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#str) or [sequence](https://docs.python.org/3/glossary.html#term-sequence) of [`str`](https://docs.python.org/3/builtins/stdtypes.html#str), *optional*) – Dimension(s) over which to apply quantile.
  * **method** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#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 <sup>[1](#id3)</sup> are:
    > 1. “inverted_cdf”
    > 2. “averaged_inverted_cdf”
    > 3. “closest_observation”
    > 4. “interpolated_inverted_cdf”
    > 5. “hazen”
    > 6. “weibull”
    > 7. “linear”  (default)
    > 8. “median_unbiased”
    > 9. “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()`](https://numpy.org/doc/stable/reference/generated/numpy.quantile.html#numpy.quantile) or <sup>[1](#id3)</sup> for details. The “method” argument
    was previously called “interpolation”, renamed in accordance with numpy
    version 1.22.0.
  * **keep_attrs** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool), *optional*) – If True, the variable’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`](https://docs.python.org/3/builtins/functions.html#bool), *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** ([`Variable`](xarray.Variable.html.md#xarray.Variable)) – 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.

#### SEE ALSO
[`numpy.nanquantile`](https://numpy.org/doc/stable/reference/generated/numpy.nanquantile.html#numpy.nanquantile), [`pandas.Series.quantile`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.quantile.html#pandas.Series.quantile), [`Dataset.quantile`](xarray.Dataset.quantile.html.md#xarray.Dataset.quantile), [`DataArray.quantile`](xarray.DataArray.quantile.html.md#xarray.DataArray.quantile)

### References

* <a id='id3'>**[1]**</a> R. J. Hyndman and Y. Fan, “Sample quantiles in statistical packages,” The American Statistician, 50(4), pp. 361-365, 1996
