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']

对于最后一个示例,只有coord_1一个完整的空数据集。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...