如何解决xarray sel数据集方法返回“ nan”
我正在使用.nc4
python库从AgMerra xarray
个文件中提取数据。
代码基本上是:
lat = [37.99,36.18,38.2 ]
lon = [-100.82,37.55,-85.24]
files_name = ['coord_1','coord_2','coord_3']
var_names = ['srad','tmax','wndspd','prate']
def rawData(var2get_xr,var_name2get):
x = var2get_xr[var_name2get].sel(longitude=xr.DataArray(lon),latitude=xr.DataArray(lat),method='nearest').values
return x
for n,var_name2get in enumerate(var_names):
var2get_xr = xr.open_mfdataset(f'files/AgMERRA_*_{var_name2get}.nc4',combine='by_coords',decode_times = False,chunks = {"time": 10})
print(var2get_xr)
if n == 0:
var_ar = rawData(var2get_xr,var_name2get)
n_lines = var_ar.shape[0]
time = var2get_xr.time.values
else:
var_ar = np.c_[var_ar,rawData(var2get_xr,var_name2get)]
time = [datetime.date(1980,1,1) + datetime.timedelta(days = int(t)) for t in time]
# saving
for n in range(len(lat)):
print('arquivo {} de um total de {}'.format(n+1,len(lat)))
name_file = f'{files_name[n]}.csv'
file = var_ar[:,n::len(lon)]
pd.DataFrame(file,index=time,columns=var_names).to_csv(name_file,float_format='%.1f')
结果是三个CSV。只有一个(“ coord_2”)不是一个完整的空数据集。
我也尝试使用三个接近的坐标。这样:
lat = [38.2,38.92,38.85]
lon = [-96.6,-97.65,-99.31]
files_name = ['coord_1','coord_3']
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。