每月从MPY获得

2024-10-01 11:29:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从1901-2015年期间的观测降水数据中获取月平均值。我的prec变量的当前形状是(1380(time), 360(lon), 720(lat)),其中1380是115年期间的月数。我被告知要计算月平均值,最有效的方法是对prec变量执行np.reshape命令,将数组拆分为月份和年份。不过,我不知道最好的办法是什么。我还想知道Python中是否有一种方法可以选择一年中的特定月份,因为我将为一年中的每个月生成图。在

我一直试图用下面的代码重塑prec变量。但是,我不确定如何正确地执行此操作:

#Set Source Folder
sys.path.append('../../..')
SrcFld = ("/export/silurian/array-01/obs/CRU/")

#Retrieve Data
data_path = ''

example = (str(SrcFld) + 'cru_ts4.00.1901.2015.pre.dat.nc') 
Data = Dataset(example)

#Create Prec Mean Array and reshape to get monthly means
Prec_mean = np.zeros((360,720))

#Retrieve Variables
Prec = Data.variables['pre'][:]
lats = Data.variables['lat'][:]
lons = Data.variables['lon'][:]

np.reshape(Prec, ())

#Get Annual/Monthly Average
Prec_mean =np.mean(Prec,axis=0)

如能就这一问题提供任何指导,我们将不胜感激。在


Tags: path方法datanpvariablesmean平均值retrieve
1条回答
网友
1楼 · 发布于 2024-10-01 11:29:22

下面的代码片段将首先按年份划分降水量数组。然后我们可以用这个数组来得到月平均降水量。在

>>> prec = np.random.rand(1380,360,720)
>>> ind = np.arange(12,1380,12)
>>> yearly_split = np.array(np.split(prec, ind, axis=0))

>>> yearly_split.shape
(115, 12, 360, 720)

>>> monthly_mean = yearly_split.mean(axis=0)
>>> monthly_mean.shape
(12, 360, 720)

相关问题 更多 >