我如何调用多个变量来确定它们的平均值?

时间:2017-06-06 00:39:58

标签: python if-statement

所以我有这样的多个循环:

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?

1 个答案:

答案 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完成。