我正在尝试每年重新采样我的数据,但努力设置重新采样的开始日期。
import xarray as xr
import numpy as np
import pandas as pd
da = xr.DataArray(
np.linspace(0, 11, num=36),
coords=[
pd.date_range(
"15/12/1999", periods=36,
)
],
dims="time",
)
da.resample(time="1Y").mean()
我试图实现的是获得以下时间段的方法: 15/12/1999-15/12/2000,15/12/2000-15/12/2001,15/12/2001-15/12/2002,...
发布于 2020-07-30 09:36:03
我已经通过将时间移到第一个月并使用相应的熊猫锚定偏移量来解决它。之后,重新设置时间。
import xarray as xr
import numpy as np
import pandas as pd
da = xr.DataArray(
np.concatenate([np.zeros(365), np.ones(365)]),
coords=[
pd.date_range(
"06/15/2017", "06/14/2019", freq='D'
)
],
dims="time",
)
days_to_first_of_month = pd.Timedelta(days=int(da.time.dt.day[0])-1)
da['time'] = da.time - days_to_first_of_month
month = da.time.dt.strftime("%b")[0].values
resampled = da.resample(time=f'AS-{month}').sum()
resampled['time'] = resampled.time + days_to_first_of_month
print(resampled)
有没有更有效或更干净的方法?
https://stackoverflow.com/questions/63152970
复制