【问题标题】:How can I reverse Coordinate vector and apply transformation to all Data Variables?如何反转坐标向量并将转换应用于所有数据变量?
【发布时间】:2018-08-28 22:52:42
【问题描述】:

我在 xarray 中有以下数据集(见下文)。我正在寻找翻转“纬度”坐标并将其应用于所有数据变量。自然,纬度应该从最大值到最小值(90 到 -90),当我尝试使用 latitude[::-1] 之类的东西时,它不会将该反转函数应用于数据变量本身。我通过在反转纬度向量之前和之后从 TMP_2maboveground[0,50,50] 中获取值来测试这一点。这些值返回相同的值,这是不可能的,因为它们应该是反转纬度矢量前后地球上的两个不同位置。

简而言之,如何反转纬度向量并将其应用于所有数据变量?

<xarray.Dataset>


Dimensions:              (latitude: 721, longitude: 1440, time: 1)


Coordinates:

* latitude             (latitude) float64 -90.0 -89.75 -89.5 -89.25 -89.0 ...
* longitude            (longitude) float64 0.0 0.25 0.5 0.75 1.0 1.25 1.5 ...
* time                 (time) datetime64[ns] 2016-11-10T12:00:00


Data variables:


   TMP_2maboveground    (time, latitude, longitude) float64 234.9 234.9 ...
   RH_2maboveground     (time, latitude, longitude) float64 96.8 96.8 96.8 ...
   TMAX_2maboveground   (time, latitude, longitude) float64 234.9 234.9 ...
   TMIN_2maboveground   (time, latitude, longitude) float64 234.3 234.3 ...
   UGRD_10maboveground  (time, latitude, longitude) float64 -1.17 -1.16 ...
   VGRD_10maboveground  (time, latitude, longitude) float64 -4.26 -4.27 ...
   PRATE_surface        (time, latitude, longitude) float64 1e-06 1e-06 ...
   DSWRF_surface        (time, latitude, longitude) float64 310.0 310.0 ...
   PRMSL_meansealevel   (time, latitude, longitude) float64 1.024e+05 ...


Attributes:


   Conventions: COARDS
   History: created by wgrib2
   GRIB2_grid_template: 0

谢谢

安吉

【问题讨论】:

    标签: python python-xarray


    【解决方案1】:

    您也可以使用 sortby 来实现:

    ds = ds.sortby('latitude', ascending=False)
    

    【讨论】:

      【解决方案2】:

      您是否尝试过提取索引、对其进行排序,然后在排序后的索引上重新索引数据集?

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 2018-07-19
        • 2016-02-28
        • 1970-01-01
        • 2020-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多