【问题标题】:why does xarray resample mean calculation create an extra time?为什么 xarray 重新采样均值计算会产生额外的时间?
【发布时间】: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


【解决方案1】:

我相信答案是我必须将 S 指定为“开始”。所以:MOC_35yr = ds.resample(time="35AS").mean().

同样在这篇文章中:xarray and 5 year averages from monthly or yearly avarges

这只是为了避免默认的“start_day”:原点是时间序列午夜的第一天。

希望这对其他人有所帮助。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2017-01-14
  • 2013-10-14
  • 1970-01-01
  • 2020-05-14
  • 2019-04-13
  • 2013-02-06
  • 1970-01-01
  • 2020-07-20
  • 2021-03-05
相关资源
最近更新 更多