我有一个netcdf文件。我在这个文件中有两个变量:wspd_wrf_m和wspd_sodar_o。我想读取netcdf文件并计算wspd_wrf_m和wspd_sodar_o之间的RMSE值。
变量的尺寸(天,时间)为(1094,24) 我想计算文件最后365天的RMSE。你能帮我解决这个问题吗?
我知道我需要使用:
from netCDF4 import Dataset
import numpy as np
g = Dataset('station_test_new.nc','r',format='NETCDF3_64BIT')
wspd_wrf = g.variables["wspd_wrf_m"][:,:]
wspd_sodar = g.variables["wspd_sodar_o"][:,:]
但是,如何选择我需要的最后365天每小时数据并从中计算RMSE?
答案 0 :(得分:1)
选择最后365天是将数组切割为正确的大小。例如:
import numpy as np
var = np.zeros((1094, 24))
print(var.shape, var[729:,:].shape, var[-365:,:].shape)
打印:
(1094,24)(365,24)(365,24)
因此,var[729:,:]
和var[-365:,:]
将最后365天(包含所有小时值)切成1094天大小的数组。
Numpy manual中有更多信息/更多示例。
有很多关于如何在Python中计算RMSE的例子(例如this)。请尝试一下,如果无法使用,请尝试更新您的问题。