我有一个三维NETcdf数据集,并试图与降水量变量。我想绘制60年来它的月平均值,但是我很难生成一个与以前的平均值计算一致的图,我没有涉及循环。下面是我如何存储一月、二月的值并取平均值:
janNES = np.empty_like(conprecip[0:720,6:-11,95:141])
for i in range(0,720,12):
janNES[i]=(NESprecip[i,6:-11,95:141])
mjanNES=(np.mean(janNES, axis=0))
febNES = np.empty_like(conprecip[0:720,6:-11,95:141])
for i in range(1,720,12):
febNES[i]=(NESprecip[i,6:-11,95:141])
mfebNES=(np.mean(febNES, axis=0))
#values that are plotted, monthly 60 year averages
np.mean(mjanNES-mjan)
np.mean(mfebNES-mfeb)
其中0-11是1月到12月,所以我同样存储其他月份的值。我相信我存储数据的方式有问题,因为在我减去控件(mjan和mfeb,使用此方法存储)并再次取平均值后,会产生奇怪的结果。谢谢你的阅读和帮助。你知道吗
janNES
数组的第一个维度的大小是720,但是随着时间的推移,循环使用:您只需要填充每12个(
0,12,24,...
)项,但最后要取整个数组的平均值。您可能希望将数组创建为:然后在上面循环,例如:
ii
现在从0,1,2,..,59
运行,i
从0,12,24,..,708
运行。你知道吗顺便说一下,您不需要
for
循环,Numpy可以通过切片原始数组直接选择数据:你甚至可以直接用这个来计算平均值:
相关问题 更多 >
编程相关推荐