重命名 xarray dataarray 中的 __xarray_dataarray_variable__

use*_*827 3 python numpy python-xarray

我使用 xarray concat 命令创建了一个 xarray 数据数组。这导致了一个名为 name 的数据数组__xarray_dataarray_variable__。但是,我似乎无法使用rename命令重命名它。还有其他方法可以重命名吗?

\n\n

我试过这个:

\n\n
da.rename({\'__xarray_dataarray_variable__\': \'new\'})\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我收到此错误:*** ValueError: cannot rename \'__xarray_dataarray_variable__\' because it is not a variable or dimension in this dataset

\n\n

数据数组如下所示:

\n\n
<xarray.DataArray (time: 2, band: 1, y: 2334, x: 4258)>\ndask.array<shape=(2, 1, 2334, 4258), dtype=float32, chunksize=(1, 1, 2334, 4258)>\nCoordinates:\n  * band     (band) int32 1\n  * y        (y) float64 4.406e+06 4.406e+06 4.406e+06 4.406e+06 4.406e+06 ...\n  * x        (x) float64 1.125e+05 1.126e+05 1.127e+05 1.128e+05 1.129e+05 ...\n  * time     (time) datetime64[ns] 2005-12-31 2006-12-31\nAttributes:\n    transform:   (90.0, 0.0, 112500.0, 0.0, -90.0, 4406400.0, 0.0, 0.0, 1.0)\n    crs:         +ellps=GRS80 +no_defs +proj=utm +towgs84=0,0,0,0,0,0,0 +unit...\n    res:         (90.0, 90.0)\n    is_tiled:    1\n    nodatavals:  (-9999.0,)\n
Run Code Online (Sandbox Code Playgroud)\n\n

http://xarray.pydata.org/en/stable/ generated/xarray.DataArray.to_netcdf.html,只有xarray.Dataset对象可以写入netCDF文件,因此xarray.DataArray被转换为xarray.Dataset对象包含单个变量。如果 DataArray 没有名称,或者名称与坐标名称相同,则其名称为 \xe2\x80\x98 xarray_dataarray_variable \xe2\x80\x99。

\n

jha*_*man 5

我认为您正在寻找to_dataset方法:

ds = da.to_dataset(name='new')
Run Code Online (Sandbox Code Playgroud)