使用 python 计算平均总季节性降水量
Calculating mean total seasonal precipitation using python
我是 python 的新手,我用它来分析 NetCDF 中的气候数据。我想计算每年每个季节的总降水量,然后计算整个时间段内这些季节总降水量的平均值(即文件中所有年份的 DJF 平均值和 MAM 等的平均值)。
这是我想做的:
fn1 = 'cru_fixed.nc'
ds1 = xr.open_dataset(fn1)
ds1_season = ds1['pre'].groupby('time.season').mean('time')
#Then plot each season
ds1_season.plot(col='season')
plt.show()
原始文件包含月度降水总量。这是计算每个季节的平均值,我需要每年每个季节的 12 月、1 月和 2 月的总和以及 3 月、4 月、5 月等的总和。我如何对这些年求和然后取平均值?
如果我没记错的话,您需要先对数据重新采样,以便在 DataArray 上获得每个季节的总和,然后对多年的这些总和进行平均。
重新采样:
sum_of_seasons = ds1['pre'].resample(time='Q').sum(dim="time")
resample is an operator to upsample or downsample time series, it uses time offsets of pandas.
但是要小心选择正确的偏移量,它将定义每个季节中包含的月份。根据您的需要,您可能希望使用“Q”、“QS”或“QS-DEC”等固定偏移量。
要具有与“time.season”相同的拆分,我相信偏移量是“QS-DEC”。
然后像上面一样对多年进行分组:
result = sum_of_seasons.groupby('time.season').mean('time')
我是 python 的新手,我用它来分析 NetCDF 中的气候数据。我想计算每年每个季节的总降水量,然后计算整个时间段内这些季节总降水量的平均值(即文件中所有年份的 DJF 平均值和 MAM 等的平均值)。 这是我想做的:
fn1 = 'cru_fixed.nc'
ds1 = xr.open_dataset(fn1)
ds1_season = ds1['pre'].groupby('time.season').mean('time')
#Then plot each season
ds1_season.plot(col='season')
plt.show()
原始文件包含月度降水总量。这是计算每个季节的平均值,我需要每年每个季节的 12 月、1 月和 2 月的总和以及 3 月、4 月、5 月等的总和。我如何对这些年求和然后取平均值?
如果我没记错的话,您需要先对数据重新采样,以便在 DataArray 上获得每个季节的总和,然后对多年的这些总和进行平均。
重新采样:
sum_of_seasons = ds1['pre'].resample(time='Q').sum(dim="time")
resample is an operator to upsample or downsample time series, it uses time offsets of pandas.
但是要小心选择正确的偏移量,它将定义每个季节中包含的月份。根据您的需要,您可能希望使用“Q”、“QS”或“QS-DEC”等固定偏移量。
要具有与“time.season”相同的拆分,我相信偏移量是“QS-DEC”。
然后像上面一样对多年进行分组:
result = sum_of_seasons.groupby('time.season').mean('time')