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
我有一个使用 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