Python error: Valueerror-need-more-than-1-value-to-unpack



在python中运行以下代码时:

lat, lon = f.variables['latitude'], f.variables['longitude']
latvals = lat[:]; lonvals = lon[:] 
def getclosest_ij(lats,lons,latpt,lonpt):
dist_sq = (lats-latpt)**2 + (lons-lonpt)**2  
minindex_flattened = dist_sq.argmin()    
return np.unravel_index(minindex_flattened, lats.shape)
iy_min, ix_min = getclosest_ij(latvals, lonvals, 46.1514, 20.0846)

它得到以下错误:

ValueError Traceback(最近一次通话)

模块()中的ipython-input-104-3ba92bea5d48

11     return np.unravel_index(minindex_flattened, lats.shape)
12     iy_min, ix_min = getclosest_ij(latvals, lonvals, 46.1514, 20.0846)

ValueError:需要超过1个值才能打开

这是什么意思?我该怎么修?我会读一个NetCDF文件,它由总的秋季水数据组成,维度为:时间(124)、纬度(15)和经度(15)。我会为特定的点(lat,lon)和时间调整tcw的数量。我试图使用上面的代码来解决任务的第一部分,即评估特定coorinates的tcw,但没有成功。

提前感谢您的帮助。

在python中,您可以编写

var1, var2 = (1, 2) # = iterable with 2 items

其将在CCD_ 1中存储1并且在var2中存储2。此功能称为拆包。

因此,您的代码抛出的错误意味着,函数getclosest_ij返回一个值,而不是您需要将它们解压缩到iy_minix_min

中的两个值

最新更新