Dataset.pipe(func, *args, **kwargs)

Apply func(self, *args, **kwargs)

This method replicates the pandas method of the same name.


func : function

function to apply to this xray object (Dataset/DataArray). args, and kwargs are passed into func. Alternatively a (callable, data_keyword) tuple where data_keyword is a string indicating the keyword of callable that expects the xray object.

args : positional arguments passed into func.

kwargs : a dictionary of keyword arguments passed into func.


object : the return type of func.


Use .pipe when chaining together functions that expect xray or pandas objects, e.g., instead of writing

>>> f(g(h(ds), arg1=a), arg2=b, arg3=c)

You can write

>>> (ds.pipe(h)
...    .pipe(g, arg1=a)
...    .pipe(f, arg2=b, arg3=c)
... )

If you have a function that takes the data as (say) the second argument, pass a tuple indicating which keyword expects the data. For example, suppose f takes its data as arg2:

>>> (ds.pipe(h)
...    .pipe(g, arg1=a)
...    .pipe((f, 'arg2'), arg1=a, arg3=c)
...  )