xarray:坐标转换为 datetime64

xarray: coords conversion to datetime64

我有一个使用 xarray 处理的 NetCDF4 文件。 数据集的“时间”坐标为 dtype=object,我想将其转换为 datetime64,以简化文件中包含的变量的绘图。 我的计划是使用

创建一个名为“time1”的新时间坐标
ds.assign_coords(time1=pd.to_datetime(ds.time.values,infer_datetime_format=True))

然后删除旧的。但是我得到一个新的坐标仍然是 dtype=object。 here's how the new dataset looks like

我做错了什么?

类似这样的问题通常可以通过以下方式解决:

ds['time'] = pd.DatetimeIndex(ds['time'].values)

这是一个例子,在应用上面的行之前:

<xarray.Dataset>
Dimensions:  (time: 93)
Coordinates:
  * time     (time) object 1593128700000000000 ... 1593211500000000000
Data variables:
    val      (time) float64 4.23 4.25 4.24 4.23 4.24 ... 4.08 4.07 4.07 4.07

及之后:

<xarray.Dataset>
Dimensions:  (time: 93)
Coordinates:
  * time     (time) datetime64[ns] 2020-06-25T23:45:00 ... 2020-06-26T22:45:00
Data variables:
    val      (time) float64 4.23 4.25 4.24 4.23 4.24 ... 4.08 4.07 4.07 4.07