使用 xarray 计算几年的平均值

compute mean from several years using xarray

我想计算包含 2015-2020 年每日温度数据的 xarray 数据集的平均值。这是我目前正在做的事情:

ds.groupby('time.year').mean('time')

但是,这分别为我提供了每年的年度平均值,而我想要所有年份的平均值。我该如何解决这个问题?

如果您正在寻找整个时间维度的平均值,您正在寻找 xarray 的 mean 函数(无分组依据):

ds.mean(dim='time')

如果您的数据每年都有可变数量的观测值(包括是否包含闰年),并且您希望无论每年的观测值数量如何,都为每一年赋予相同的权重,您可以执行groupby-mean 得到年平均值然后计算 cross-year 均值:

ds.groupby('time.year').mean('time').mean(dim='time')

重新采样也可以:

ds.resample(time='Y').mean('time').mean(dim='time')