如何 select DJFM season 而不是 xarray groupby

How to select DJFM season instead of xarray groupby

我对 python 和编程比较陌生,一直在尝试为印度次大陆制作一些初始降水数据图,专门针对印度冬季季风在 12 月、1 月、2 月、3 月期间的降水数据.

我注意到在 groupby('time.season').mean(dim='time') 中只适用于 DJF

有没有办法获得 4 个月 (DJFM) 季节性平均值?

如果您想要整个数据集中特定月份集合的平均值,您可以 select 使用时间访问器 dt 和 isin 的月份,然后应用均值。所以在你的情况下:

da[da.time.dt.month.isin([12,1,2,3])].mean(dim = 'time')

如果您想要每年一组 4 个月的平均值,您可以先将数据重新采样到每月时间步长,然后计算 4 个时间步长和 select 期间的滚动平均值想。所以在你的情况下:

#Resampling
da_ = da.resample(time = '1M').mean()

#Rolling mean
da_ = da_.rolling(time = 4).mean()

#Select March to get the average over DJFM
da_[da_.time.dt.month == 3]