xarray-根据多种条件查找元素

时间:2019-05-23 08:41:16

标签: python numpy python-xarray

我有一个xarray的DataArray对象,名为“ da_kbdi”,变量名称为“ KBDI_AWAP”。

<xarray.DataArray 'KBDI-AWAP' (time: 8784, latitude: 106, longitude: 193)>
dask.array<shape=(8784, 106, 193), dtype=float32, chunksize=(744, 106, 193)>
Coordinates:
  * time       (time) datetime64[ns] 2000-01-01 ... 2000-12-31T23:00:00
  * latitude   (latitude) float64 -39.2 -39.15 -39.1 ... -34.0 -33.95 -33.9
  * longitude  (longitude) float64 140.8 140.8 140.9 140.9 ... 149.9 150.0 150.0

时间维度具有一年中每小时的坐标,例如2000-01-01T00:00:00,2000-01-01T01:00:00,... ... 2000-12-31T23:00:00。

我需要实现的是找到所有值,其中时间表示秋天(三月,四月和五月)为KBDI_AWAP <80,而时间表示春天(九月,十月和十一月)为KBDI_AWAP <30。

因此输出将是另一个具有相同尺寸和坐标的DataArray,其值表示满足条件的值为0(假)或1(真)。

我最终得到了以下代码。

criteria1 = xr.where(da_kbdi.time.dt.season == "MAM", da_kbdi < 80, np.nan)
criteria2 = xr.where(da_kbdi.time.dt.season == "SON", da_kbdi < 30, np.nan)

但是如何将它们结合起来?我不确定这是否是实现此目标的最佳方法?

0 个答案:

没有答案