Python netcdf-每日数据在所有时间段内的每月中位数

时间:2019-02-22 17:04:37

标签: python netcdf python-xarray

我有一个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个每月中位数?

1 个答案:

答案 0 :(得分:3)

您要使用groupby方法:

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

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