xarray.DataArray.qsel

DataArray.qsel(self, indexers=None, *, func='mean', **indexers_kwargs)[source]

Select and aggregate data along specified dimensions.

Parameters:
  • indexers (Mapping[Hashable, float | Collection[float] | slice] | None, default: None) –

    Dictionary specifying the dimensions and their values or slices. Position along a dimension can be specified in three ways:

    • As a scalar value or a collection of scalar values: alpha=-1.2 or alpha=[-1.2, 0.0, 1.2]:

      If no width is specified, the data is selected along the nearest value for each element. It is equivalent to calling xarray.DataArray.sel() with method='nearest'. When a collection is provided, multiple selections are made and concatenated along the dimension. In this case, the width may also be provided as a collection with the same length.

    • As a value and width: alpha=5, alpha_width=0.5

      The data is aggregated over a slice of width alpha_width, centered at alpha. The center and width use the units of the selected coordinate. Label-based slice endpoints are inclusive. If alpha is a collection, the data is aggregated over multiple slices and concatenated along the dimension.

    • As a slice: alpha=slice(-10, 10)

      The data is selected over the specified slice. No averaging is performed. This is equivalent to calling xarray.DataArray.sel() with a slice.

    One of indexers or indexers_kwargs must be provided.

  • **indexers_kwargs – The keyword arguments form of indexers. One of indexers or indexers_kwargs must be provided.

  • func ({"mean", "min", "max", "sum"}, optional) – Function used when qsel aggregates over width-based selections. Must be one of "mean", "min", "max", or "sum". "mean" by default. This argument only affects reduced data; reduced numeric coordinates are still represented by their mean.

Returns:

DataArray – The selected or aggregated data. A scalar selection or one width-based aggregation removes the selected dimension. If the dimension has a coordinate, its selected or mean value is retained as a scalar coordinate. A collection of centers preserves the dimension with one coordinate value for each selection. Numeric coordinates that depend on an aggregated dimension are reduced with their mean. The data name and attributes are retained.

Note

Unlike xarray.DataArray.sel(), this method treats all dimensions without coordinates as equivalent to having coordinates assigned from 0 to n-1, where n is the size of the dimension. For example:

da = xr.DataArray(np.random.rand(10), dims=("x",))

da.sel(x=slice(2, 3))  # This works

da.sel(x=slice(2.0, 3.0))  # This raises a TypeError

da.qsel(x=slice(2.0, 3.0))  # This works