2

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 メソッドを呼び出す方法はありません。

4

1 に答える 1

2

一度に複数の変数に操作を適用するには、複数のDataArrayオブジェクトを 1 つのにまとめます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)
于 2016-08-26T02:19:21.193 に答える