小编chu*_*axr的帖子

xarray 中是否有内置方法将日期时间转换为 cftime?

我想绘制两个时间序列,其中一个在 cftime 中,另一个在 datetime 中。

一种可能性是将cftime 转换为 datetime,但这可能会给非标准 cftime 日历(例如 NoLeap)带来奇怪的结果。因此,我正在尝试将日期时间转换为 cftime。

我可以按如下方式暴力破解它,但是有可用的内置方法吗?

>>> import pandas as pd
>>> import xarray as xr
>>>
>>> da = xr.DataArray(
...     [1, 2], coords={"time": pd.to_datetime(["2000-01-01", "2000-02-02"])}, dims=["time"]
... )
>>> print(da.time)
<xarray.DataArray 'time' (time: 2)>
array(['2000-01-01T00:00:00.000000000', '2000-02-02T00:00:00.000000000'],
      dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 2000-01-01 2000-02-02
>>>
>>>
>>> import cftime
>>>
>>>
>>> def datetime_to_cftime(dates, kwargs={}):
...     return [
...         cftime.datetime(
...             date.dt.year,
...             date.dt.month,
...             date.dt.day,
...             date.dt.hour,
... …
Run Code Online (Sandbox Code Playgroud)

python datetime python-xarray

5
推荐指数
1
解决办法
1148
查看次数

标签 统计

datetime ×1

python ×1

python-xarray ×1