在xarray
文档中,groupby.apply
方法可以将某些功能应用于不同的组。与文档中一样,
In [11]: def standardize(x):
....: return (x - x.mean()) / x.std()
....:
In [12]: arr.groupby('letters').apply(standardize)
但是,如何在标准化函数中添加另一个参数?即。
def standardize(x, y):
....: return (x - x.mean()) / x.std() + y.sum()
arr.groupby('letters').apply(standardize(x, y))??
显然不对。 现在,无法调用apply方法。
答案 0 :(得分:2)
要同时对多个变量应用操作,请将多个DataArray
个对象放在一个xarray.Dataset
中,例如,
# foo and bar are xarray.DataArray objects
ds = xarray.Dataset({'x': foo, 'y': bar})
def standardize(ds):
return (ds.x - ds.x.mean()) / ds.x.std() + ds.y.sum()
ds.groupby('letters').apply(standardize)