数据文件是nc文件,记录了一年的云量数据,每隔三小时一个数据,请问我怎么计算每天云量的平均值
我才处理了一个温度数据集
数据范围选取的是1984~2010这27年的数据。
#分月份计算ro平均值
ro_all=[[] for i in range(12)]
ro_monthdiv=[]
#首先我们先将27年,每个月份的数据分别存储。即这12个子数组中,分别存储了27年1月份的数据、27年2月份的数据、...、27年12月份的数据
for i in range(12):
for j in range(27):
ro_all[i].append(ro[j*12+i])
ro_all[i]=np.array(ro_all[i])
#然后分别求平均就好了
for i in range(12):
ro_monthdiv.append(np.mean(ro_all[i],axis=0))
ro_monthdiv=np.array(ro_monthdiv)
#print(ro_monthdiv.shape)
这一步的目的是为了便于后续的计算。
补充一个额外的,我们可以将计算结果可视化,便于研究。
这里需要用到matplotlib库。
import matplotlib.pyplot as plt
#创建一块儿画布,两个参数分别是长和宽,figure函数的具体用法大家可以自行查阅,这里只需要这两个就够了
plt.figure(figsize=(15,12))
#这里是指定你要画的多个图的分布
#注意,subplot函数中,第三个参数表示顺序,从1开始,分别从左至右、从上至下编号
for i in range(12):
plt.subplot(4,3,i+1)
plt.title("Q_Month"+str(i+1))
#这一步是绘图,lon、lat是之前读取nc文件时读取到的经度和纬度,用来绘图时的定位
#ro_monthdiv[i]即为我们要绘制的图像
#shading有几个值,大家可以自己查询,并根据实际情况设置
#vmin与vmax为显示值的范围(最小值与最大值,大于最大值的值都视作最大值,最小值也类似)
#cmap是用来设定色带,也是有几个特定值,大家可以自行查询
#colorbar是显示图例
plt.pcolormesh(lon,lat,ro_monthdiv[i],shading="auto",vmin=0,vmax=200,cmap='OrRd')
colorbar=plt.colorbar()
plt.tight_layout()