微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xarray - 将变量的值转换为数据集中另一个变量的标签

如何解决xarray - 将变量的值转换为数据集中另一个变量的标签

我有一个名为 ds_ffdi 的 xarray 数据集。其中有两个变量。

xarray.Dataset

Dimensions:     latitude: 148   longitude: 244   time: 424680
Coordinates:
    latitude    (latitude)     float32          -39.2 -39.163948 ... -33.9
    longitude   (longitude)    float32          140.8 140.83786 ... 149.96214 150.0
    time        (time)         datetime64[ns]   1972-01-20T00:00:00 ... 2020-06-30T23:00:00
Data variables:
    FFDI        (time,latitude,longitude)   float32   dask.array<chunksize=(288,148,244),Meta=np.ndarray>
    REF_ID      (latitude,longitude)        int32       0 1 2 3 ... 36108 36109 36110 36111
Attributes:
    creationTime :        1611509008
    creationTimeString :  Sun Jan 24 09:23:28 PST 2021
    Conventions :         COARDS

我想要实现的是从 ds_ffdi 创建一个新的数据集:

  1. 删除纬度和经度维度
  2. 新的 ds 将有两个维度,timeref_idref_id 维度的标签是原始数据集变量 REF_ID 的值 (0,1,2,... ...,36111)。
  3. 新的 ds 将仅具有剩余的 FFDI 变量。

所以新的 ds 看起来像:

xarray.Dataset

    Dimensions:     ref_id: 36111   time: 424680
    Coordinates:
        ref_id      (ref_id)        int32            0 1 2 3 ... 36108 36109 36110 36111
        time        (time)          datetime64[ns]   1972-01-20T00:00:00 ... 2020-06-30T23:00:00
    Data variables:
        FFDI        (time,ref_id)  float32

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。