簡體   English   中英

從使用xarray創建的DataArray中選擇零件(python)

[英]select parts out of a DataArray created with xarray (python)

    ds = xr.open_dataset(f)
    hlos = ds.rayleigh_hloswind_windresult_rayleigh_wind_velocity.data
    lats = ds.rayleigh_geolocation_windresult_geolocation_latitude_cog.data 

>>> hlos
array([  419., -1013.,  -584., ..., -6791., 32767., 32767.], dtype=float32)
>>> lats
array([84.36244 , 84.359972, 84.371422, ..., 83.43806 , 83.672662,
       83.513285])

f是一個netcdf文件,其變量hlos是風速,而lats是緯度。 我創建了一個DataArray:

da_lat = xr.DataArray(hlos, dims=['lat'], coords = {'lat': lats})
>>> da_lat
<xarray.DataArray (lat: 19703)>
array([  419., -1013.,  -584., ..., -6791., 32767., 32767.],
      dtype=float32)
Coordinates:
  * lat      (lat) float64 84.36 84.36 84.37 ... 83.67 83.51

現在,我想選擇: da_lat.sel(lat = 84.36).values ,但這給了我一個da_lat.sel(lat = 84.36).values :84.36有人知道這種情況是什么問題嗎?

KeyError是由於緯度坐標中的緯度84.36不完全匹配而導致的。 精確匹配看起來像是84.36244(或84.359972)。 Xarray提供了解決這個工作,你可以指定一個很好的方式methodsel控制如何與非精確匹配交易方法。

在這種情況下,您可能需要諸如method='nearest'類的東西:

da_lat.sel(lat=84.36, method='nearest')

有關更多詳細信息,請參見Dataset.sel文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM