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 的内置 and
和 or
不不适用于向量。此外,您需要括号,因为按位运算符的优先级高于比较。
我有一个 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 的内置 and
和 or
不不适用于向量。此外,您需要括号,因为按位运算符的优先级高于比较。