跨年的 xarray 年度分组

xarray annual grouping across years

我正在计算我的数据的年度均值:

sst_ANN = ds['sst'].groupby(ds['time.year']).mean(dim='time')

这确实很优雅。现在我想做同样的事情,除了计算后年 6 月到 5 月的年均值 运行,而不是日历年。会有类似的单线来做到这一点吗?

您可能应该使用 xarray 的 resample 方法而不是 groupby(在这种情况下它们是相似的,但 resample 更容易操作以执行您想要的操作)。

对于 xarray 0.10.0 及更高版本,这看起来像:

sst_ANN = ds['sst'].resample(time='AS-JUN').mean('time')

对于旧版本的 xarray,它看起来像:

sst_ANN = ds['sst'].resample(freq='AS-JUN', dim='time', how='mean')

在这两种情况下,我们都使用 "anchored offset"AS-JUN 转换为 "annual, start of period, beginning in June"。