如何保留 ufunc 和运算符 xarray 操作的属性?

how to preserve attributes for ufunc and operator xarray operations?

给出

da = xr.DataArray([0], attrs={"foo": 42})

我可以计算(例如)总和,同时使用

保留坐标
da.sum(keep_attrs=True)

但是,在应用 np.sin(da) 等 ufunc 或使用 1-da 等运算符重载时如何保留属性?当然,我可以在操作结束时简单地重新分配属性,但是有没有什么办法可以在一开始就保留它们?

从 xarray 0.11(2018-11-07 发布)开始,您可以设置

xarray.set_options(keep_attrs=True)