[英]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提供了解决这个工作,你可以指定一个很好的方式method
在sel
控制如何与非精确匹配交易方法。
在这种情况下,您可能需要诸如method='nearest'
类的东西:
da_lat.sel(lat=84.36, method='nearest')
有关更多详细信息,请参见Dataset.sel
的文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.