使用 xarray 计算给定年份的月份平均值

Calculate mean of month for given year using xarray

我有 netcdf(30 年的按月数据,时间 = (12*30=360, )) 文件,其中包含 3 个变量:

  * longitude  (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1979-01-01 1979-02-01 ... 2020-01-01
Data variables:
    z          (time, latitude, longitude) float32 ...

现在我想按月计算平均值,即给定 30 年的所有 1 月、2 月...的平均值。 这将 return 我 12 个月的数据意味着 30 年(时间 = (12, ))。

xarray 中是否有任何方法可以做到这一点,我能够通过以下代码弄清楚如何做到这一点。

data.resample({'time': '1Y'}).mean()

你可以使用 data.groupby('time.month').mean().