我有一个NetCDF文件input.nc
。该文件代表每4天采样近18年的数据。从此文件中,我想计算所有时间段内的每月中位数。因此,输出文件应仅包含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个每月中位数?
答案 0 :(得分:3)
您要使用groupby方法:
monthly_data = data.groupby('time.month').median()
这里有一些很好的示例,介绍如何将xarray与时间序列数据一起使用:http://xarray.pydata.org/en/stable/time-series.html