【发布时间】:2019-09-22 07:02:56
【问题描述】:
我正在尝试使用 xarray 将每小时气候数据汇总为年度文件的每日平均值。但是,我用“水年”而不是日历年来分隔它们——从 10 月 1 日到 9 月 30 日。
当我尝试使用“groupby(.dayofyear)”方法时,它会在开始或结束日期在实际闰年之内的水年中产生不正确的“dayofyear”维度。
例如,对于跨越闰日的 2000 年水年 (10/01/1999 - 09/30/2000),生成的代码会生成大小为 365 的年日维度,而不是 366。在计算 2001 年水年时(10/01/2000 - 09/30/2001),它不跨越闰日,它会产生不正确的尺寸大小 366 而不是 365。
我确信我可以从头开始构建数组,但我希望有一个内置函数或其他简单的方法来解决这个问题。
new_array['TMEAN'] = d['T2'].groupby('XTIME.dayofyear').mean(dim='Time')
【问题讨论】:
-
@spencerkclark 感谢您的回复。 resample 函数看起来就像我想要的那样。但是,“XTIME”是一个坐标,而不是一个维度,并且“时间”维度是“Int64Index”格式,这会引发错误“TypeError:仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但有一个“Int64Index”实例。您知道解决方法吗?
-
@spencerkclark 非常感谢您的全面回答!有效的解决方案。
标签: python pandas datetime python-xarray