我正在使用xarray读取多个气候模型数据,由于升级python,我的代码现已停止工作。
它崩溃了,因为某些模型数据具有不同的日历:
In [15]: ds.coords['time'].values[0]
Out[15]: cftime.DatetimeNoLeap(1861, 1, 16, 12, 0, 0, 0, 0, 16)
这意味着pandas.to_datetime()失败:
pd.to_datetime(ds.coords['time'].values[0])
TypeError: <type 'cftime._cftime.DatetimeNoLeap'> is not convertible to datetime
有没有解决的办法?
答案 0 :(得分:2)
xaray最近进行了更改,以更好地支持非标准日历。 xarray文档中有一整节描述了这些更改以及如何还原以前的行为(link to docs)。
我认为在您的情况下,如果要将时间值转换为标准的完整Pandas日期时间,则可以简单地使用to_datetimeindex()
方法:
ds.indexes['time'].to_datetimeindex()