【问题标题】:2D XArray cfgrib engine indexing2D XArray cfgrib 引擎索引
【发布时间】:2020-08-11 06:56:37
【问题描述】:

我想在 lat/long 窗口内从 grib2 文件中提取数据。

def get_data(temp_filename):
    ds = xr.open_dataset(temp_filename, engine="cfgrib")
    ds = ds[{'latitude': ds.latitude > 1, 'longitude': ds.longitude > -100}]
    radar_values = ds.to_array()
    print(radar_values)

给予

IndexError: too many indices for array

【问题讨论】:

    标签: python multiprocessing python-xarray grib


    【解决方案1】:

    事实证明,该错误与使用 xarray 进行 2D 索引有关。

    d = ds[{'latitude': ds.latitude > 1, 'longitude': ds.longitude > -100}]
    

    应该用 where() 方法完成

    ds=ds.where(ds.latitude > 1)
    ds=ds.where(ds.longitude > -100)
    

    或通过使用 numpy 提取底层数组并进行适当的索引。

    http://xarray.pydata.org/en/stable/indexing.html

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 2018-04-12
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2021-12-15
      • 2021-05-07
      相关资源
      最近更新 更多