【发布时间】:2021-11-23 09:21:44
【问题描述】:
我正在使用 xarray 加载年度数据集。我想创建 35 年的数据平均值(不是滚动平均值,只是分成 35 年的平均值)。 现在我执行以下操作:
filename = '/glade/scratch/mberdahl/127kaH11/MOC/MOC_only_127kaH11_AnnMeans.nc' # read 127ka H11 run, 1-1749 years only
ds = xr.open_dataset(filename)
ds
哪个显示
Dimensions:
d2: 2lat_aux_grid: 395 moc_comp: 3 moc_z: 61 time: 1750 transport_reg: 2
每年有 1750 个时间条目,我应该可以计算出 50 个均值,每个均值占 35 年时间。但是,当我执行以下操作时:
MOC_35yr = ds.resample(time="35A").mean()
MOC_35yr
我得到了 51 次:
Dimensions:
lat_aux_grid: 395 moc_z: 61 time: 51
作为完整性检查,我还使用 nco 命令计算了 35 年的平均值,结果与 xarray.resample.mean 方法相同,仅第 0 次输入。之后结果就不同了。
谁能看出我做错了什么?
谢谢, 米拉
【问题讨论】:
-
实际上,我发现也许我还必须为 'start' 指定 S。所以: MOC_35yr = ds.resample(time="35AS").mean() 这似乎工作得很好,但我不知道我是否完全理解为什么。
-
我认为这只是为了避免默认的“start_day”:原点是时间序列午夜的第一天。希望这对其他人有帮助!
-
如果这是答案,请随意回答您自己的问题!
标签: mean python-xarray pandas-resample