所以我有这样的多个循环:
HPBL = grbs[15].values
lat = input('Enter lat:')
lon = input('Enter lon:')
print 'PBL Height:',HPBL[int(lat),int(lon)],'m'
HGT_1000 = grbs[256].values
if HGT_1000[int(lat),int(lon)]<HPBL[int(lat),int(lon)]:
UGRD_1000 = grbs[260].values
VGRD_1000 = grbs[261].values
UGRD_1000_val = UGRD_1000[int(lat),int(lat)]
VGRD_1000_val = VGRD_1000[int(lat),int(lat)]
wind_1000 = math.sqrt(UGRD_1000_val**2+VGRD_1000_val**2)
print '1000mb wind is:',wind_1000,'m/s'
else:
print '1000mb winds not below PBL'
最终目标是打印wind_1000,wind_975,wind_950等的平均值,但前提是每个wind_xxxx变量都有一个值。根据循环,如果&#39; if&#39;要求未得到满足。 所以我无法思考的是如何计算平均值
wind_ave=np.mean(wind_1000,wind_975,wind_950,...wind_xxx)
但当然我的问题是风变量不会总是有if循环的值。仅当wind_xxx变量具有值时,如何计算wind_ave?
答案 0 :(得分:1)
你在找这样的东西吗?
total = 0
n_inputs = 0
while my_loop_condition:
if there_is_a_value:
total += value
n_inputs += 1
average = total / n_inputs
如果缺少的值用my_values[~np.isnan(my_values)].mean()
编码,也可以使用np.nan
numpy完成。