在 xarray dataarray 中重命名 __xarray_dataarray_variable__
renaming __xarray_dataarray_variable__ in xarray dataarray
我使用 xarray concat 命令创建了一个 xarray dataarray。这导致了名称为 __xarray_dataarray_variable__
的数据数组。但是,我似乎无法使用 rename
命令重命名它。还有其他方法可以重命名吗?
我试过这个:
da.rename({'__xarray_dataarray_variable__': 'new'})
但我收到此错误:*** ValueError: cannot rename '__xarray_dataarray_variable__' because it is not a variable or dimension in this dataset
这是数据数组的样子:
<xarray.DataArray (time: 2, band: 1, y: 2334, x: 4258)>
dask.array<shape=(2, 1, 2334, 4258), dtype=float32, chunksize=(1, 1, 2334, 4258)>
Coordinates:
* band (band) int32 1
* y (y) float64 4.406e+06 4.406e+06 4.406e+06 4.406e+06 4.406e+06 ...
* x (x) float64 1.125e+05 1.126e+05 1.127e+05 1.128e+05 1.129e+05 ...
* time (time) datetime64[ns] 2005-12-31 2006-12-31
Attributes:
transform: (90.0, 0.0, 112500.0, 0.0, -90.0, 4406400.0, 0.0, 0.0, 1.0)
crs: +ellps=GRS80 +no_defs +proj=utm +towgs84=0,0,0,0,0,0,0 +unit...
res: (90.0, 90.0)
is_tiled: 1
nodatavals: (-9999.0,)
从http://xarray.pydata.org/en/stable/generated/xarray.DataArray.to_netcdf.html开始,只能将xarray.Dataset个对象写入netCDF文件,因此xarray.DataArray被转换为包含单个变量的xarray.Dataset个对象。如果 DataArray 没有名称,或者名称与坐标名称相同,则将其命名为“xarray_dataarray_variable”。
我认为您正在寻找 to_dataset
方法:
ds = da.to_dataset(name='new')
我使用 xarray concat 命令创建了一个 xarray dataarray。这导致了名称为 __xarray_dataarray_variable__
的数据数组。但是,我似乎无法使用 rename
命令重命名它。还有其他方法可以重命名吗?
我试过这个:
da.rename({'__xarray_dataarray_variable__': 'new'})
但我收到此错误:*** ValueError: cannot rename '__xarray_dataarray_variable__' because it is not a variable or dimension in this dataset
这是数据数组的样子:
<xarray.DataArray (time: 2, band: 1, y: 2334, x: 4258)>
dask.array<shape=(2, 1, 2334, 4258), dtype=float32, chunksize=(1, 1, 2334, 4258)>
Coordinates:
* band (band) int32 1
* y (y) float64 4.406e+06 4.406e+06 4.406e+06 4.406e+06 4.406e+06 ...
* x (x) float64 1.125e+05 1.126e+05 1.127e+05 1.128e+05 1.129e+05 ...
* time (time) datetime64[ns] 2005-12-31 2006-12-31
Attributes:
transform: (90.0, 0.0, 112500.0, 0.0, -90.0, 4406400.0, 0.0, 0.0, 1.0)
crs: +ellps=GRS80 +no_defs +proj=utm +towgs84=0,0,0,0,0,0,0 +unit...
res: (90.0, 90.0)
is_tiled: 1
nodatavals: (-9999.0,)
从http://xarray.pydata.org/en/stable/generated/xarray.DataArray.to_netcdf.html开始,只能将xarray.Dataset个对象写入netCDF文件,因此xarray.DataArray被转换为包含单个变量的xarray.Dataset个对象。如果 DataArray 没有名称,或者名称与坐标名称相同,则将其命名为“xarray_dataarray_variable”。
我认为您正在寻找 to_dataset
方法:
ds = da.to_dataset(name='new')