在 xarray 数据集中组合 DataArray

Combining DataArrays in an xarray Dataset

有没有比

更好的方法来对 xarray 数据集中的所有 DataArray 求和
sum(d for d in ds.data_vars.values())

这可行,但似乎有点笨拙。是否有等效于对 pandas DataFrame 列求和的方法?

注意 ds.sum() 方法适用于每个 DataArrays - 但我想合并 DataArrays。

我假设您还想对每个数据变量求和,例如 sum(d.sum() for d in ds.data_vars.values())。在 xarray 的未来版本中(v0.10 中还没有),这将更加简洁:您将能够编写 sum(d.sum() for d in ds.values()).

另一种选择是将 Dataset 转换为单个 DataArray 并立即求和,例如 ds.to_array().sum()。如果您有不同维度的数据变量,这将降低效率。