Python错误:valueerrorneedmore1valuetounp

2024-04-27 05:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在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 (most recent call last)

ipython-input-104-3ba92bea5d48 in module()

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文件,它由总的Column水数据组成,这些数据的维度包括:时间(124)、纬度(15)和经度(15)。我会根据具体的时间点(纬度,经度)和时间来调整tcw的量。我试图使用上面的代码来解决我任务的第一部分,即为特定的合作伙伴评估tcw,但是没有成功。在

提前感谢你的帮助。在


Tags: 代码时间variablesminlonlatijflattened
1条回答
网友
1楼 · 发布于 2024-04-27 05:03:37

在python中,您可以编写

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

它将1存储在var1中,2存储在var2中。 此功能称为解压缩。在

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

相关问题 更多 >