【问题标题】:renaming __xarray_dataarray_variable__ in xarray dataarray在 xarray 数据数组中重命名 __xarray_dataarray_variable__
【发布时间】:2018-05-02 05:22:42
【问题描述】:

我使用 xarray concat 命令创建了一个 xarray 数据数组。这导致了一个名为 __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”。

【问题讨论】:

  • da.name = 'new' 能解决问题吗?您的 DataArray 中的坐标/维度都没有 __xarray_dataarray_variable__ 名称。
  • 感谢@jhamman,当我执行da.name = 'new' *** AttributeError: cannot set attribute '__xarray_dataarray_variable__' on a 'DataArray' object. Use __setitem__ style assignment (e.g., ds['name'] = ...) instead to assign variables. 时出现此错误
  • @jhamman,如果有帮助,我在这里使用您的代码:stackoverflow.com/questions/46899337/… 从一堆光栅文件创建 netCDF 文件
  • 好的,我明白了。我最初的建议是关闭的。您可以将您的 DataArray 转换为 Dataset:da.to_dataset(name='new')
  • 感谢@jhamman,这行得通!您可以将此添加为答案以便我接受吗?

标签: python numpy xarray


【解决方案1】:

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

ds = da.to_dataset(name='new')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    相关资源
    最近更新 更多