Python 从netCDF中提取位置和时间范围的值
是否存在xarray函数的netCDF4等价项,用于从netCDF文件中为lat lon和特定时间范围选择值:Python 从netCDF中提取位置和时间范围的值,python,pandas,netcdf,netcdf4,xarray,Python,Pandas,Netcdf,Netcdf4,Xarray,是否存在xarray函数的netCDF4等价项,用于从netCDF文件中为lat lon和特定时间范围选择值: hndl_nc.sel(time=slice(start_date, end_date)).sel(lon=lon, lat=lat, method='nearest') 我不想使用cdo或nco,根据您的特定数据集会有差异,但这种函数应该在特定坐标和时间片上提取值: def variable_pull(site_lat, site_lon, lat, lon, var, time_
hndl_nc.sel(time=slice(start_date, end_date)).sel(lon=lon, lat=lat, method='nearest')
我不想使用cdo或nco,根据您的特定数据集会有差异,但这种函数应该在特定坐标和时间片上提取值:
def variable_pull(site_lat, site_lon, lat, lon, var, time_slice):
lat_idx = (np.abs(lat-site_lat)).argmin()
lon_idx = (np.abs(lon-site_lon)).argmin()
return var[time_slice, lat_idx, lon_idx]
对于使用netCDF4打开的数据集,与此类似:
f = ncdf.Dataset("filepath","r")
lat = f.variables['lat'][:]
lon = f.variables['lon'][:]
var = f.variables['var'][:]
f.close()
site_lat = your coordinates of interest
site_lon = your coordinates of interest
values = variable_pull(site_lat, site_lon, lat, lon, var, time_slice)
为什么不像你已经做的那样在xarray做呢?。或者在结尾使用.values直接作为np.array提取数据?