【发布时间】:2016-01-14 12:04:14
【问题描述】:
编辑 2016-01-24:此行为来自 xarray 中的错误(当时称为“xray”)。请参阅下面 skc 的answer。
我有一个xarray.DataArray,其中包含跨越多年的每日数据。我想计算时间序列中每个月的数据的时间趋势。我可以使用resample 获得分子,即每个月的数量变化。假设arr是我的xarray.DataArray对象,时间坐标名为'time':
data_first = arr.resample('1M', 'time' how='first')
data_last = arr.resample('1M', 'time' how='last')
然后data_last - data_first 给了我那个月的变量变化。
但是,这不适用于 time=arr.time 对象本身:'first' 和 'last' kwarg 值产生相同的值,即该月的最后一天。另外,我不能使用groupby 方法,因为当我想要时间序列中每个月内的第一个和最后一个时间值时,使用time.month 将所有一月、所有二月等组合在一起.
在 xarray 中是否有一种简单的方法可以做到这一点?我怀疑是的,但我是这个包的新手,而且失败得很惨。
【问题讨论】:
-
skc 在这里的回答绝对是目前正确的解决方法。然而,这种行为绝对是一个错误——它与这些问题的原因相同:github.com/xray/xray/issues/634github.com/xray/xray/issues/367 看起来我需要优先考虑该重构:)。
标签: python datetime time-series python-xarray