我有一个三维矩阵(lon,lat,hight),其中一些元素的值为0。我想用previus级别的数据替换这些值,直到所有的零数据都被替换。这意味着,如果‘a’是矩阵[i,j,k],那么我想用[i,j,k-1]替换其中的零值,如果之前的值再次为零,它将接受previus数据,直到它得到值。我试过下面的代码,但它给出了错误,无论我做什么结果是没有意义的。LW是nc文件。你知道吗
LW = S.netcdf_file('/path','r')
a = LW.variables['nflx'][:,:,:]
lona = LW.variables['lon'][:]
lata = LW.variables['lat'][:]
M = np.zeros([96,73,25])
for i in xrange(0, 96):
for j in xrange(0, 73):
for k in xrange(0,25):
while a==0:
M = a[:,:,k-1]
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
有人知道吗?感谢所有的帮助。你知道吗
这里有一个简单而动态的方法。每个子阵M[i,j]都将作为循环处理。如果第一个值为零,它将被最后一个值替换。你知道吗
相关问题 更多 >
编程相关推荐