Python netcdf - 所有时间段每日数据的月中值

Python netcdf - Monthly median over the all time period of daily data

我有一个 NetCDF 文件 input.nc。该文件代表近 18 年的数据,每 4 天采样一次。从这个文件中,我想计算所有时间段内的每月中值。所以输出文件应该只包含 12 步。

我正在使用以下代码:

import xarray as xr
os.chdir(inbasedir)
data = xr.open_dataset('input.nc')
monthly_data = data.resample(freq='m', dim ='time', how = 'median')
monthly_data.to_netcdf("test.nc")

不幸的是,当我查看输出文件时,我的代码已经完成了所有时间序列中每个月的中值,我最终得到了 200 多个值。我如何更改我的代码,以便计算所有时间段内的 12 个月的中位数?

您想使用groupby方法:

monthly_data = data.groupby('time.month').median()

这里有一些关于如何将 xarray 与时间序列数据一起使用的好例子:http://xarray.pydata.org/en/stable/time-series.html