登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2016-11-30 22:00 编辑
MeteoInfoLab的minum模块中有mean()函数来计算多维数组的平均值:
mean(x, axis=None)
参数x是欲进行平均计算的数组,axis参数指定沿某个特定坐标维进行平均。
>>> a = array([[1, 2], [3, 4]])
>>> mean(a) #axis缺省为None,结果为数组所有元素的平均值
2.5
>>> mean(a, axis=0) #数组沿第一维进行平均
array([2.0, 3.0])
>>> mean(a, axis=1) #数组沿第二维进行平均
array([1.5, 3.5])
再看看实际多维气象数据平均的例子,打开一个GrADS格式数据文件,从3维变量PS中获取包含4个时次(0:3)的3维数组,然后沿时间维进行平均,最后绘制平均结果图形:
- fn = 'D:/Temp/GrADS/model.ctl'f = addfile(fn)
- data = f['PS'][0:3,:,:]
- ave = mean(data, axis=0)
- #Plot
- axesm()
- lworld = shaperead('D:/Temp/map/country1.shp')
- geoshow(lworld)
- layer = contourfm(ave)
- colorbar(layer)
- st = f.gettime(0)
- et = f.gettime(3)
- title('Mean surface pressure (' + st.strftime('%Y%m%d%H') + ' - ' + \
- et.strftime('%Y%m%d%H') + ')')
|