xarray.Dataset.map#
- Dataset.map(func, keep_attrs=None, args=(), **kwargs)[source]#
Apply a function to each data 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
orNone
, optional) – If True, both the dataset’s and variables’ attributes (attrs) will be copied from the original objects to the new ones. If False, the new dataset and variables will be returned without copying the attributes.args (iterable, optional) – Positional arguments passed on to func.
**kwargs (
Any
) – Keyword arguments passed on to func.
- Returns
applied (
Dataset
) – Resulting dataset from applyingfunc
to each data variable.
Examples
>>> da = xr.DataArray(np.random.randn(2, 3)) >>> ds = xr.Dataset({"foo": da, "bar": ("x", [-1, 2])}) >>> ds <xarray.Dataset> Size: 64B 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 48B 1.764 0.4002 0.9787 2.241 1.868 -0.9773 bar (x) int64 16B -1 2 >>> ds.map(np.fabs) <xarray.Dataset> Size: 64B 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 48B 1.764 0.4002 0.9787 2.241 1.868 0.9773 bar (x) float64 16B 1.0 2.0