2D XArray cfgrib 引擎索引
2D XArray cfgrib engine indexing
我想从 lat/long 的 window 内的 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
原来这个错误与用xarray做二维索引有关
d = ds[{'latitude': ds.latitude > 1, 'longitude': ds.longitude > -100}]
应该使用 where() 方法完成
ds=ds.where(ds.latitude > 1)
ds=ds.where(ds.longitude > -100)
或者通过使用 numpy 提取底层数组并进行适当的索引。
我想从 lat/long 的 window 内的 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
原来这个错误与用xarray做二维索引有关
d = ds[{'latitude': ds.latitude > 1, 'longitude': ds.longitude > -100}]
应该使用 where() 方法完成
ds=ds.where(ds.latitude > 1)
ds=ds.where(ds.longitude > -100)
或者通过使用 numpy 提取底层数组并进行适当的索引。