Select xarray/pandas 基于特定月份的索引

Select xarray/pandas index based on specific months

我有一个 xarray DataArray,我想 select 整个时间序列的四月、五月、六月(类似于 time.season=='JJA')。

其结构如下:

<xarray.DataArray 't2m' (time: 492, latitude: 81, longitude: 141)>

我之前通过以下方式 selecting JJA:

seasonal_data =temp_data.sel(time=temp_data['time.season']=='JJA')

我想做同样的事情,但用月份 'AMJ' 代替。我可以添加任何我可能遗漏的细节。

谢谢

select 自定义月份的最简单方法是使用布尔掩码,例如,

def is_amj(month):
    return (month >= 4) & (month <= 6)

seasonal_data = temp_data.sel(time=is_amj(temp_data['time.month']))

请注意,您需要使用 &| 等位运算符,因为 Python 的内置 andor 不不适用于向量。此外,您需要括号,因为按位运算符的优先级高于比较。