xarray.Dataset.map

Dataset.map(func, keep_attrs=None, args=(), **kwargs)

Apply a function to each variable in this dataset

Parameters
  • func (callable) – Function which can be called in the form func(x, *args, **kwargs) to transform each DataArray x in this dataset into another DataArray.

  • keep_attrs (bool, optional) – If True, the dataset’s attributes (attrs) will be copied from the original object to the new one. If False, the new object will be returned without attributes.

  • args (tuple, optional) – Positional arguments passed on to func.

  • **kwargs (Any) – Keyword arguments passed on to func.

Returns

applied – Resulting dataset from applying func to each data variable.

Return type

Dataset

Examples

>>> da = xr.DataArray(np.random.randn(2, 3))
>>> ds = xr.Dataset({"foo": da, "bar": ("x", [-1, 2])})
>>> ds
<xarray.Dataset>
Dimensions:  (dim_0: 2, dim_1: 3, x: 2)
Dimensions without coordinates: dim_0, dim_1, x
Data variables:
    foo      (dim_0, dim_1) float64 -0.3751 -1.951 -1.945 0.2948 0.711 -0.3948
    bar      (x) int64 -1 2
>>> ds.map(np.fabs)
<xarray.Dataset>
Dimensions:  (dim_0: 2, dim_1: 3, x: 2)
Dimensions without coordinates: dim_0, dim_1, x
Data variables:
    foo      (dim_0, dim_1) float64 0.3751 1.951 1.945 0.2948 0.711 0.3948
    bar      (x) float64 1.0 2.0