xarray:坐标转换为 datetime64

1 datetimeindex python-xarray netcdf4

我有一个 NetCDF4 文件,正在使用 xarray 处理。数据集的“时间”坐标为 dtype=object,我想将其转换为 datetime64,以简化文件中包含的变量的绘制。我的计划是使用以下命令创建一个名为“time1”的新时间坐标

ds.assign_coords(time1=pd.to_datetime(ds.time.values,infer_datetime_format=True))
Run Code Online (Sandbox Code Playgroud)

然后删除旧的。但我得到的新坐标仍然为 dtype=object。 新数据集如下所示

我究竟做错了什么?

Dan*_*Dan 5

此类问题通常可以通过以下方法解决:

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
Run Code Online (Sandbox Code Playgroud)

之后:

<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
Run Code Online (Sandbox Code Playgroud)