groupby.apply 方法采用多个参数
groupby.apply method taking more than one arguments
在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方法。
要同时对多个变量应用操作,请将多个 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)
在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方法。
要同时对多个变量应用操作,请将多个 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)